I have created a list of instances (with a for loop). When I try to delete single instances from this list I get an error saying they aren't in the list. I have made a simple example showing my problem:
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)
The objects to delete are in the list. At least, when I print them out:
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>]
Why is this behaving oddly?