remove()从列表中的所有项目中删除

时间:2014-02-14 05:30:42

标签: python list

.remove()有一些我不明白的行为。

x = [[1,2,3]]*3
x[0].remove(1)

然后x变为[[2, 3], [2, 3], [2, 3]]

为什么会发生这种情况,我该如何解决这个问题?我想从第一个列表中删除1。

1 个答案:

答案 0 :(得分:4)

如果您创建了x这样的内容:

a = [1,2,3]
x = [a,a,a]

然后x的元素实际上是同一个对象,并且更改其中一个元素会导致更改反映在所有这些对象中。