OOP python-从列表中删除类实例
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OOP python-从列表中删除类实例相关的知识,希望对你有一定的参考价值。
我有一个列表,其中保存了由特定类创建的对象。
我想知道,因为我无法设法解决此问题,如何从列表中删除该类的实例?
这应该基于了解对象的一个属性而发生。
答案
遍历列表,找到对象及其位置,然后将其删除:
for i, o in enumerate(obj_list):
if o.attr == known_value:
del obj_list[i]
break
另一答案
您可以使用列表理解:
thelist = [item for item in thelist if item.attribute != somevalue]
这将用item.attribute == somevalue
删除all个项目。
如果您只想删除一个这样的项目,请使用WolframH's solution。
另一答案
您可以将它们存储在字典中,并按名称将其删除
di = "test" : my_instance()
del di['test']
另一答案
我不确定这是否是最好的方法。
但是我听说某个地方的对象是由id划分的。
所以为什么不检查其ID是否相同?
for i in list:
if id(my_object) == id(i):
list.remove(i)
以上是关于OOP python-从列表中删除类实例的主要内容,如果未能解决你的问题,请参考以下文章