我有一个列表,用于保存特定类创建的对象。
我想知道,因为我无法解决这个问题,如何从列表中删除该类的实例?
这应该基于知道对象的一个属性而发生。
答案 0 :(得分:12)
遍历列表,找到对象及其位置,然后将其删除:
for i, o in enumerate(obj_list):
if o.attr == known_value:
del obj_list[i]
break
答案 1 :(得分:6)
您可以使用列表理解:
thelist = [item for item in thelist if item.attribute != somevalue]
这会删除item.attribute == somevalue
所有项目。
如果您只想删除一个此类项目,请使用WolframH's solution。
答案 2 :(得分:1)
您可以将它们存储在dict中并按名称删除它们
di = {"test" : my_instance()}
del di['test']