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

Lia*_*odi 4 python list

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

t = [item1, item2]
Run Code Online (Sandbox Code Playgroud)

我想根据其属性从t列表中删除项目.name,例如remove()或pop()方法。也许我可以做类似的事情:

t.remove(item.name=="Removed me")
Run Code Online (Sandbox Code Playgroud)

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

yot*_*ota 5

列表理解对于这种东西很有效

t = [i for i in t if i.name!="Remove me"]
Run Code Online (Sandbox Code Playgroud)

  • 请注意,它替换了列表对象,这在任何给定的用例中可能是也可能不可接受的。 (3认同)