g是列表列表,我将其用作2d数组。 但是,当我为g [i] [j]赋值时,它不起作用。
这是我的代码。
m=3
n=4
g=[[0]*n]*m
for i in range(m):
for j in range(n):
g[i][j]=i
print(g[i][j])
print(g)
输出为
0
0
0
0
1
1
1
1
2
2
2
2
[[2, 2, 2, 2], [2, 2, 2, 2], [2, 2, 2, 2]]
答案 0 :(得分:1)
此
g=[[0]*n]*m
是问题所在。尝试以下方法:
g=[[0]*n for _ in range(m)]
这两种方法之间的区别在于,前者是m
个项目的列表,每个都是n
零的 same 列表。但是后者是m
个项目的列表,每个项目都是n
零的不同列表。