def main():
w = [[0]*3] * 3
print("original w", w)
w[0][2] = 2
print("new w:",w)
k = [[0,0,0],[0,0,0],[0,0,0]]
k[0][2] = 2
print("new k",k)
输出为:
original w [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
new w: [[0, 0, 2], [0, 0, 2], [0, 0, 2]]
new k: [[0, 0, 2], [0, 0, 0], [0, 0, 0]]
问题是为什么w [0] [2] = 2使w不仅改变w [0] [2],而且改变w [1] [2]和w [2] [2]的所有第二索引? 我想像k一样更改w(仅更改[0] [2])
我不知道两个列表之间的区别。 感谢您让我知道我的错误!谢谢!