标签: python list
.remove()有一些我不明白的行为。
x = [[1,2,3]]*3 x[0].remove(1)
然后x变为[[2, 3], [2, 3], [2, 3]]。
[[2, 3], [2, 3], [2, 3]]
为什么会发生这种情况,我该如何解决这个问题?我想从第一个列表中删除1。
答案 0 :(得分:4)
如果您创建了x这样的内容:
x
a = [1,2,3] x = [a,a,a]
然后x的元素实际上是同一个对象,并且更改其中一个元素会导致更改反映在所有这些对象中。