@The Hit-Man
Diese Zeile enthält einen SyntaxError
Es würde mich wundern wenn das überhaupt lauffähig ist. (Vielleicht beim Kopieren passiert?)
Ich weiß leider nicht, wie genau deine Klassen aussehen, aber bei "normalen" Klassen dürfte der einzige Unterschied darin bestehen, dass beim ersten Mal zehn Referenzen auf das selbe Objekt in die Liste gepackt werden und beim zweiten mal durch "copy" jeweils eine Referenz auf eine Kopie des Objektes in die Liste gepackt wird.
Der folgende Code zeigt ein Bespiel:
Code: Alles auswählen
import copy
class AClass:
pass
a_instance = AClass()
a_instances_first = []
a_instances_second = []
for i in range(2):
a_instances_first.append(a_instance)
a_instances_second.append(copy.copy(a_instance))
for instance in a_instances_first:
print(instance)
print()
for instance in a_instances_second:
print(instance)
Ausgabe:
Code: Alles auswählen
<__main__.AClass object at 0x000002AA2EF4F820>
<__main__.AClass object at 0x000002AA2EF4F820>
<__main__.AClass object at 0x000002AA2EF4F8B0>
<__main__.AClass object at 0x000002AA2EF4F8E0>
Wie man sieht werden jeweils 2 Referenzen erzeugt, beim zweiten Mal aber an unterschiedlichen Addressen.
Falls sich das bei dir anders verhält müsstest du vielleicht mal zeigen, wie genau die Klassen aufgebaut sind