语法错误:创建一个用零填充的二维列表

Posted

技术标签:

【中文标题】语法错误:创建一个用零填充的二维列表【英文标题】:Syntax Error:Creating An 2d List Filled With Zero 【发布时间】:2022-01-02 13:09:01 【问题描述】:

如何在没有任何附加库/模块的情况下初始化一个用零填充的 2D 列表

这是我的尝试

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

它适用于一维列表:矢量但在二维情况下失败

代码:table = [0 for i in range(amount + 1)] 邮编:[0,0,0,0,0,0,0,0,0,0,0,0]

代码:table = [0 for i in range(amount + 1)[0 for j in range(len(coins))]] 邮编:Syntax Error

【问题讨论】:

【参考方案1】:

您将内在理解部分置于错误的位置。试试:

rows, cols = 4, 5
table = [[0 for _ in range(cols)] for _ in range(rows)]
print(table)
# [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]

首先,_ 这并不奇怪;它只是一个虚拟名称,我们不在乎。例如,我们可以将其命名为 i,并且没有任何变化。

[... for _ in range(rows)] 创建一个长度为rows 的列表,其中的项目由... 给出。现在...[0 for _ in range(cols)],即长度为cols 的零列表。因此,结果是[0, 0, ..., 0] 的列表(长度为row)。

【讨论】:

它起作用了,但你能解释一下是怎么做的吗? @CodeBhiErrorBhi 我已经添加了一些解释。

以上是关于语法错误:创建一个用零填充的二维列表的主要内容,如果未能解决你的问题,请参考以下文章

如何在python中创建二维列表

Swift:填充二维数组时出现索引超出范围错误

如何读取用户的输入并创建二维列表?

试图制作一个二维数组列表

Python中二维数组的列表列表

python 使用嵌套的for循环创建二维列表?