ООП Python - удаление экземпляра класса из списка - PullRequest
6 голосов
/ 04 февраля 2012

У меня есть список, в котором я сохраняю объекты, созданные определенным классом.

Я хотел бы знать, потому что мне не удается решить эту проблему, как мне удалить экземпляр класса из списка?

Это должно происходить на основе знания одного атрибута объекта.

Ответы [ 3 ]

12 голосов
/ 04 февраля 2012

Переберите список, найдите объект и его положение, затем удалите его:

for i, o in enumerate(obj_list):
    if o.attr == known_value:
        del obj_list[i]
        break
6 голосов
/ 04 февраля 2012

Вы можете использовать понимание списка:

thelist = [item for item in thelist if item.attribute != somevalue]

Это удалит все элементов с item.attribute == somevalue.

Если вы хотите удалить только один такой предмет, используйте решение WolframH .

1 голос
/ 04 февраля 2012

Вы могли бы сохранить их в диктовке и удалить их по имени

di = {"test" : my_instance()}
del di['test']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...