那么之前使用的都是a=[[0]*5]*10这种方法来开一个10行5列的数组的,并且没有出现问题是因为我是这么用的:
a[i]=list(map(int,input().split(’ ')))
但是刚写的程序我通过一个一个位置赋值,发现出问题了:
a=[[0]*2]*5
a[1][0]=1
print(a)
比如这个代码,运行得到的结果是
[[1, 0], [1, 0], [1, 0], [1, 0], [1, 0]]
有一种指针的感觉,我也不太懂,那么换成下列方法创建即可避免问题
a=[[0]*2 for i in range(10)]