Python列表乘法:[[…]] * 3构成3个列表,它们在修改后会相互镜像
为什么会这样呢?我不太了解:
>>> 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个列表,它们在修改后会相互镜像 的全部内容, 来源链接: utcz.com/qa/409947.html