You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python diagsUpRight函数输出字符串反转报错及正确实现咨询

代码问题分析

  1. 语法错误:reversed是Python内置函数,你使用方括号[]传递参数属于语法错误,函数传参需要用圆括号(),这是你调用函数得到异常结果的直接原因。
  2. 逻辑错误:即便修正语法,直接将整个列表传入reversed是反转列表的元素顺序,而你的需求是将列表内每个字符串单独倒序,两者逻辑完全不匹配。

正确实现

你只需要在拼接每个列的字符串后,对单个字符串做反转即可,Python中用[::-1]切片是反转字符串最简洁的写法,修改后代码如下:

def diagsUpRight(M):
    n = len(M)
    m = [['']*i + row + ['']*(n-i-1) for i, row in enumerate(M)]
    return [''.join(col)[::-1] for col in zip(*m)]

如果你一定要用reversed实现,写法如下:

def diagsUpRight(M):
    n = len(M)
    m = [['']*i + row + ['']*(n-i-1) for i, row in enumerate(M)]
    return [''.join(reversed(col)) for col in zip(*m)]

两种写法运行后都可以得到你需要的输出结果。

内容的提问来源于stack exchange,提问作者Bruffff

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 06:39:00