Ich habe ein Problem das ich habe selbs loesen koennen, dessen Ursache mir aber unklar ist:
Ich habe eine Klasse
Code: Alles auswählen
class AngleList(AngleObject):
"""
AngleList : Derives from AngleObject. Can be used to perform calculations on arbitrary rotation lists.
@var __list: The list stored
@var __currentIndex: Current index used in nextRotation
"""
__list = [];
__currentIndex = 0;
def __init__(self,list):
"""
@param list: Either [] or a list of rotations - [ [phi,psi,theta], [phi,psi,theta], [phi,psi,theta] ,...]
"""
self.__list = list;
Will ich nun eine liste von angle listen initialisieren mit
Code: Alles auswählen
classRotations = [AngleList() for _ in xrange(10)];
Code: Alles auswählen
classRotations[0].__list
Code: Alles auswählen
classRotations[1].__list
Das Problem aussert sich durch die append funktion.
Haenge ich an classRotations[0].__list was an, so erscheint es in allen anderen.
Loesung -
Code: Alles auswählen
classRotations = [AngleList([]) for _ in xrange(10)];
Kann mir jemand die Ursache zu dem Problem nennen?
Viellen Dank,
Thomas
ps: das problem hatte ich schon oeffter, deswegen interessiert es mich dringend... ist es ein Feature von Python oder eher ein Fehler?
:K