Я создал список экземпляров (с циклом for). Когда я пытаюсь удалить отдельные экземпляры из этого списка, я получаю сообщение о том, что их нет в списке. Я сделал простой пример, показывающий мою проблему:удалить список экземпляров из итеративно созданного списка экземпляров
class example():
list = []
def __init__ (self, name):
example.list.append(self)
self.name = name
for i in range(5):
name = ("example_" + str(i+1))
name = example(name)
to_delete = []
to_delete.append(example.list[2])
to_delete.append(example.list[0])
to_delete.append(example.list[4])
for j in to_delete:
example.list.remove(to_delete)
print(example.list)
Объекты, которые необходимо удалить, указаны в списке. По крайней мере, когда я распечатываю их:
List of instances:
[<__main__.example object at 0x7fdc77082c50>, <__main__.example object at 0x7fdc77082be0>, <__main__.example object at 0x7fdc77082c88>, <__main__.example object at 0x7fdc77082b00>, <__main__.example object at 0x7fdc77082b38>]
Objects to remove:
[<__main__.example object at 0x7fdc77082c88>, <__main__.example object at 0x7fdc77082c50>, <__main__.example object at 0x7fdc77082b38>]
Почему это ведет себя странно?