Seite 1 von 1

Index in for-Schleife

Verfasst: Donnerstag 8. Mai 2008, 15:25
von brubb
Hallo,

wenn man in einer for-Schleife auch den Index zum aktuellen Element braucht, welche Variante ist dann besser?

Variante 1:

Code: Alles auswählen

a = 'cat', 'mouse', 'dog'
for index, animal in enumerate(a):
    print(index, ':', animal)
Variante 2:

Code: Alles auswählen

a = 'cat', 'mouse', 'dog'
for index in range(len(a)):
    print(index, ':', a[index])

Verfasst: Donnerstag 8. Mai 2008, 15:29
von mitsuhiko
Was soll die Frage? Was ist besser für dich? Also ich nehme enumerate(). Schneller und einfacher.

Verfasst: Donnerstag 8. Mai 2008, 15:36
von BlackJack
IMHO `enumerate()`, da einfacher da nur eine Funktion im Gegensatz zu ``xrange(len(obj))``. Man spart Indexzugriffe und gibt dem Objekt (hoffentlich) auch einen sprechenden Namen.

Verfasst: Donnerstag 8. Mai 2008, 22:15
von brubb
mitsuhiko hat geschrieben:Was soll die Frage?
Bitte? Ich dachte in Python gilt Beautiful is better than ugly. Von daher ist ja wohl die Frage nach dem schöneren Weg berechtigt.
Übrigens: Toller Ton für eine Antwort, die einem Anfänger helfen soll. :?

Verfasst: Freitag 9. Mai 2008, 00:22
von Leonidas
brubb hat geschrieben:
mitsuhiko hat geschrieben:Was soll die Frage?
Bitte? Ich dachte in Python gilt Beautiful is better than ugly. Von daher ist ja wohl die Frage nach dem schöneren Weg berechtigt.
Ich glaube mitsuhiko ging es darum, dass es ziemlich offensichtlich ist was hübscher ist. Auch wenn das unfreundlich rübergekommen ist ;)

Verfasst: Freitag 9. Mai 2008, 05:09
von BlackJack
Offensichtlich? 'Beauty lies in the eye of the beerholder', oder so ähnlich. ;-)

@brubb: Verwendest Du etwa eine Alpha-Version von Python 3.0? Den für die meisten Leute ist ``print`` im alltäglichen Gebrauch noch keine Funktion.