Index einer Liste

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.
Antworten
Nergal53
User
Beiträge: 10
Registriert: Sonntag 15. September 2013, 08:26

Hallo ich habe folgendes Problem:

Ich habe eine Liste z.B.

[1,2,3,2,2,3,4,2,4]

Diese durchlaufe ich mittels for-Schleife und immer wenn eine 2 kommt hätte ich gern den Index.
Ist diese eleganter möglich außer mit einer Zählvariable die ich mitlaufen lassen?

Vielen Dank im Voraus.
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Code: Alles auswählen

for index, value in enumerate([1,2,3,2,2,3,4,2,4]):
    ...
Das Leben ist wie ein Tennisball.
Nergal53
User
Beiträge: 10
Registriert: Sonntag 15. September 2013, 08:26

Danke das ist genau das was ich gesucht habe :) :)
Benutzeravatar
bwbg
User
Beiträge: 407
Registriert: Mittwoch 23. Januar 2008, 13:35

Auch eine List-Comprehension sei hier erwähnt:

Code: Alles auswählen

>>> xs = [1, 2, 3, 2, 2, 3, 4, 2, 4]
>>> trait = lambda x: x == 2
>>> [i for (i, x) in enumerate(xs) if trait(x)]
[1, 3, 4, 7]
Oder als Generator umgeschrieben, damit es "lazy" ist:

Code: Alles auswählen

>>> (i for (i, x) in enumerate(xs) if trait(x))
<generator object <genexpr> at 0x00000000026B7510>
"Du bist der Messias! Und ich muss es wissen, denn ich bin schon einigen gefolgt!"
Antworten