为什么会这样?我真的不明白:
>>> P = [ [()]*3 ]*3
>>> P
[[(), (), ()], [(), (), ()], [(), (), ()]]
>>> P[0][0]=1
>>> P
[[1, (), ()], [1, (), ()], [1, (), ()]]
最佳答案
您对同一个列表进行了 3 次引用。
>>> a = b = []
>>> a.append(42)
>>> b
[42]
你想这样做:
P = [[()] * 3 for x in range(3)]
关于Python 列表乘法 : [[. ..]]*3 使 3 个列表在修改时相互镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6688223/