基本上,这就是我所拥有的:
In [1]: list1 = [[0, 0, 0, 0]] * 10
In [2]: list1
Out[2]:
[[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]]
In [3]: list1[0][1] = 9
In [4]: list1
Out[4]:
[[0, 9, 0, 0],
[0, 9, 0, 0],
[0, 9, 0, 0],
[0, 9, 0, 0],
[0, 9, 0, 0],
[0, 9, 0, 0],
[0, 9, 0, 0],
[0, 9, 0, 0],
[0, 9, 0, 0],
[0, 9, 0, 0]]
当尝试将第一个列表的第二个元素更改为9时,我不知何故将所有第一个元素更改为9个。
答案 0 :(得分:0)
这是浅表副本,仅复制参考。
尝试list1 = [[0, 0, 0, 0] for _ in range(10)]