我们创建如下二维列表:
list1 = [[0,0,0], [0,0,0], [0,0,0]]
修改其中一个值,如
list1[1][1] = 2
结果正常应该为
list1 = [[0,0,0], [0,2,0], [0,0,0]]
以上没问题。
但有时候修改其中一个值,会造成所有项都改变,上面的结果变成
list1 = [[0,2,0], [0,2,0], [0,2,0]]
原因是,创建二维数组的方式有问题。可能使用的创建方式是
list1 = [[0] * 3] * 3
可以修改为
list1 = [[0] * 3 for _ in range(3)]