PyPy: Python Iterationen

Beitrag lesen

Hallo,

ich habe eine Klasse mit der Klassenattributsliste "Liste", also MeineKlasse.Liste. In der sind Instanzen anderer Klassen hinterlegt, so dass ich per MeineKlasse.Liste.Attribut auf die Klassenattribute der zweiten Klasse über die Instanz zugreifen kann.

So weit so gut, ich hoffe ihr habt den Aufbau verstanden, nun möchte ich durch die Liste durchiterieren und frage mich, ob es hierzwischen irgendeinen Unterschied gibt:

for i in self.Liste:
   if self.Liste[i].Attribut = "TEST":
      return 0
   else:
      return 1

oder das hier:

for i in range(len(self.Liste))
   if self.Liste[i].Attribut = "TEST":
      return 0
   else:
      return 1

Oben wäre i (hab ich per print(type(i)) ausgegeben) ganz einfach eine Klasseninstanz, unten wäre es ein Integer. Ändert das irgendwas beim Zugriff? In beiden Fällen scheint es bei mir zu funktionieren, deswegen frage ich mich, ob es auch in speziellen Fällen nicht funktionieren würde.

Vielen Dank. :)