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

Python不使用额外库初始化全零2D列表出现SyntaxError如何解决

错误原因

你编写的代码存在语法结构错误,不符合Python列表推导式的编写规则:
原代码中你直接将内层生成列表的推导式写在了外层range(amount + 1)的方括号后,相当于尝试给range生成的可迭代对象传入一个列表推导式作为索引,这是完全非法的语法结构,因此运行直接抛出SyntaxError。

正确实现方式

如果你需要生成行数为amount + 1、列数为len(coins)的全零二维列表,使用嵌套列表推导式的正确写法如下:

table = [[0 for _ in range(len(coins))] for _ in range(amount + 1)]

注意避坑

不要使用如下写法初始化:

# 错误写法:所有行指向同一个列表引用,修改任意一行的元素会同步修改所有行
table = [[0]*len(coins)] * (amount + 1)

这种写法生成的二维列表中每一行都是同一个列表对象的浅拷贝,一旦修改某一行的元素,所有行的对应位置都会同步变化,不符合常规的二维列表使用需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 07:24:01