【问题标题】:remove item from list according to item's special attribute [duplicate]根据项目的特殊属性从列表中删除项目[重复]
【发布时间】:2015-11-30 10:04:32
【问题描述】:

我有一个由我定义的项目组成的列表,每个项目都有一个属性.name

t = [item1, item2]

我想根据它们的属性.name 从 t 列表中删除项目,例如 remove() 或 pop() 方法。也许我可以这样做:

t.remove(item.name=="Removed me")

也许我不需要遍历整个列表来过滤掉需要删除的项目。

【问题讨论】:

    标签: python list


    【解决方案1】:

    列表推导很适合这类东西

    t = [i for i in t if i.name!="Remove me"]
    

    确实,正如评论的那样,它创建了一个新列表

    【讨论】:

    • 请注意,它替换了列表对象,这在任何给定的用例中可能会或可能不会被接受。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-21
    • 1970-01-01
    • 2011-09-29
    • 2013-08-03
    • 2011-03-17
    相关资源
    最近更新 更多