Index in for-Schleife

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
brubb
User
Beiträge: 5
Registriert: Sonntag 4. Mai 2008, 12:46

Index in for-Schleife

Beitragvon brubb » Donnerstag 8. Mai 2008, 15:25

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])
Benutzeravatar
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Beitragvon mitsuhiko » Donnerstag 8. Mai 2008, 15:29

Was soll die Frage? Was ist besser für dich? Also ich nehme enumerate(). Schneller und einfacher.
TUFKAB – the user formerly known as blackbird
BlackJack

Beitragvon BlackJack » Donnerstag 8. Mai 2008, 15:36

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.
brubb
User
Beiträge: 5
Registriert: Sonntag 4. Mai 2008, 12:46

Beitragvon brubb » Donnerstag 8. Mai 2008, 22:15

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. :?
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Freitag 9. Mai 2008, 00:22

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 ;)
My god, it's full of CARs! | Leonidasvoice vs Modvoice
BlackJack

Beitragvon BlackJack » Freitag 9. Mai 2008, 05:09

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.

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder