OOP python - 从列表中删除类实例

Bog*_*ier 8 python list object

我有一个列表,我保存由特定类创建的对象.

我想知道,因为我无法解决这个问题,如何从列表中删除该类的实例?

这应该基于知道对象的一个​​属性而发生.

Rei*_*ica 16

遍历列表,找到对象及其位置,然后将其删除:

for i, o in enumerate(obj_list):
    if o.attr == known_value:
        del obj_list[i]
        break
Run Code Online (Sandbox Code Playgroud)

  • 有一个错字:`=`而不是`==`。 (2认同)

unu*_*tbu 8

你可以使用列表理解:

thelist = [item for item in thelist if item.attribute != somevalue]
Run Code Online (Sandbox Code Playgroud)

这将删除所有项目item.attribute == somevalue.

如果您只想删除一个这样的项目,请使用WolframH的解决方案.