Seite 1 von 1

Index einer Liste

Verfasst: Mittwoch 20. November 2013, 09:39
von Nergal53
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.

Re: Index einer Liste

Verfasst: Mittwoch 20. November 2013, 09:44
von EyDu

Code: Alles auswählen

for index, value in enumerate([1,2,3,2,2,3,4,2,4]):
    ...

Re: Index einer Liste

Verfasst: Mittwoch 20. November 2013, 09:53
von Nergal53
Danke das ist genau das was ich gesucht habe :) :)

Re: Index einer Liste

Verfasst: Mittwoch 20. November 2013, 10:04
von bwbg
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>