我正在尝试从列表中移除一个项目。通常这很显然,但问题在于这些项目是对象,我想通过它们的某个属性来删除它们。
有比我下面展示的更优雅的方法吗?
class Item:
def __init__(self, name, color):
self.name = name
self.type = type
if __name__ == "__main__":
myList = []
myList.append(Item("item1", "green"))
myList.append(Item("item2", "blue"))
# Try to remove object with name "item2"
index = None
for i, val in enumerate(myList):
if val.name == "item2"
del myList[i]
repr
dunder 方法。 - Julian Camillerimap(attrgetter('my_attr'), my_list)
这样的语法,attrgetter
可在内置库operator
中找到。 - Julian Camilleri