Listen in Python

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.
Benutzeravatar
noisefloor
User
Beiträge: 3853
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

geht, ist aber nicht-idomatisches Python. Besonders über eine Sequenz, die "iterable" ist, mit `range()` zu iterieren, ist ein Anti-Pattern. Zumal wir schon mindestens 5x `enumerate` in den Raum geworfen haben...

Besser:

[codebox=pycon file=Unbenannt.txt]>>> woerter=['Aal','arbeiten','Berta','Lesung','fröhlich']
>>> for index, wort in enumerate(woerter):
... if wort[0].isupper():
... print(index, wort)
...
0 Aal
2 Berta
3 Lesung
>>>[/code]
dt_fahrer
User
Beiträge: 39
Registriert: Montag 27. Februar 2017, 08:59

enumerate hab ich vorher noch nie gehört... sag mir absolut null, nix.... nicht mal auf Befehlslisten bzw. Formelsammlungen über python fand ich den befehl.
BlackJack

@dt_fahrer: Die Funktion wurde Dir hier *mehrfach* sogar mit Quelltext gezeigt. Liest Du nur Komplettlösungen?

Was sind denn bitte Befehlslisten bzw. Formelsammlungen über Python? In der Python-Dokumentation steht die Funktion beschrieben und im Tutorial in der Python-Dokumentation wird die Funktion auch behandelt. Und auch überall wo so etwas wie ``for i in range(len(sequence)):`` steht, sollte als nächstes stehen das man das besser mit `enumerate()` macht falls man den Index zusätzlich zum Element braucht.
Antworten