Syntax Error:Creating An 2d List Filled With Zero

Syntax Error:Creating An 2d List Filled With Zero

如何在没有任何附加的情况下初始化一个用零填充的二维列表 Library/Module

这是我的尝试

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

它在 1d 的情况下有效 list:Vector 但在 2d 的情况下失败

Code:
table = [0 for i in range(amount + 1)]
O/P:
[0,0,0,0,0,0,0,0,0,0,0,0]

Code:
table = [0 for i in range(amount + 1)[0 for j in range(len(coins))]]
O/P:
Syntax Error

你把内悟部分放错了位置。尝试:

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