【问题标题】:remove() removing from all items in list [duplicate]remove() 从列表中的所有项目中删除 [重复]
【发布时间】:2014-02-14 05:30:42
【问题描述】:

.remove() 有一些我不理解的行为。

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

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

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

【问题讨论】:

  • 你是如何创建x的?
  • @thefourtheye 我已经输入了我的原始代码
  • @thefourtheye 你的回答很有帮助,你应该取消删除它
  • @thefourtheye,不要因投反对票而气馁。有时,投反对票的人可能并不像他们认为的那样知道。只要他们给出一个理由,他们可能会学到一些新东西......

标签: python list


【解决方案1】:

如果你创建了x 类似这样的东西:

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

那么x的元素其实是同一个对象,改变其中一个会导致所有的变化都体现出来。

【讨论】:

    猜你喜欢
    • 2022-10-04
    • 1970-01-01
    • 2021-04-09
    • 2015-06-10
    • 2011-10-09
    • 1970-01-01
    • 2016-04-24
    • 2011-09-29
    • 2013-08-03
    相关资源
    最近更新 更多