Seite 1 von 1

bestimmte Listenelemente mit Steuerliste ausgliedern

Verfasst: Montag 21. Juli 2008, 15:29
von Pü-Ton
Hi Python-Citizens,

es geht mal wieder um Listen und obwohl ich mich hier schon gut informiert hab, scheint bisher noch keiner ein ähnliches Prob. gehabt zu haben:

Ich habe eine Liste:

Code: Alles auswählen

Liste1=[0, 1, 0, 1]
und eine zweite Liste:

Code: Alles auswählen

Liste2=[a,b,c,d]
und in der 3. Liste soll nun das Element aus der 2. Liste stehen, was im Vergleich mit der ersten Liste über die 1 "gesteuernt" wurde:

Code: Alles auswählen

Liste1=[0, 1, 0, 1]
Liste2=[a,b,c,d]
Liste3=[b,d]
Ich habe jetzt schon versucht die jeweils die 0er zu löschen:

Code: Alles auswählen

for e in Liste1:

            if e <> 1:
                Liste2.remove(Liste2[e])
            if e == 1:
                Liste3.append(Liste2[e])
Aber geht net...

Auch sonstige Versuche gingen schief...
Habt ihr einen Lösungsansatz?

Thanxx

Verfasst: Montag 21. Juli 2008, 15:35
von audax

Code: Alles auswählen

In [1]: l = [0, 1, 0, 1] 

In [2]: m = ["a", "b", "c", "d"]

In [3]: new = [e for i,e in enumerate(m) if l[i]]

In [4]: new
Out[4]: ['b', 'd']

Verfasst: Montag 21. Juli 2008, 15:41
von Pü-Ton
Hey audax,

echt fett. Funzt prima,
1000 Dank

Verfasst: Montag 21. Juli 2008, 15:43
von snafu
Womit macht ihr eigentlich diese In und Outs? Und was ist da der Unterschied zum "normalen" Interpreter?

Verfasst: Montag 21. Juli 2008, 15:53
von audax
ich nehm IPython.

IPython ist toll. Mehr ist dazu nicht zu sagen ;)

Verfasst: Montag 21. Juli 2008, 16:27
von Leonidas
snafu hat geschrieben:Womit macht ihr eigentlich diese In und Outs? Und was ist da der Unterschied zum "normalen" Interpreter?
Das ist IPython, ein stark ausgemotzter Python-Interpreter mit allen möglichen Zusatzfeatures wie Farben, Debug-Befehlen etc.

Verfasst: Montag 21. Juli 2008, 16:31
von snafu
Danke, hab's schon installiert und mich etwas eingelesen. Am praktischsten finde ich die ??-Funktion.