a = [[0] * 4] * 4
id = 0
for i in range(4):
for j in range(4):
a[i][j] = copy.deepcopy(id)
id += 1
print(a)
实际输出:
[[12, 13, 14, 15], [12, 13, 14, 15], [12, 13, 14, 15], [12, 13, 14, 15]]
我希望的输出:
[[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11], [12, 13, 14, 15]]
似乎是你数组的引用出了问题。
查看这份链接。
https://www.cnblogs.com/woshare/p/5823303.html https://www.cnblogs.com/woshare/p/5823303.html
使用[[0]*4*4]
这种方式会导致,数组中的内部数组指向同一个数组
而且deepcopy也不是这么用的