根据项目的特定属性从列表中删除项目

9

我有一个列表,其中包含我定义的项目,每个项目都有一个属性.name

t = [item1, item2]

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

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

也许我不需要遍历整个列表来筛选需要被移除的项目。
1个回答

11
列表推导式非常适合这种情况。
t = [i for i in t if i.name!="Remove me"]

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


3
请注意,它替换了列表对象,这在任何特定的用例中可能是可以接受的,也可能不可接受。 - user319799

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接