bestimmte Listenelemente mit Steuerliste ausgliedern

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
Pü-Ton
User
Beiträge: 67
Registriert: Donnerstag 8. Mai 2008, 07:52

Montag 21. Juli 2008, 15:29

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
Die Lösung für ein Problem verändert das Problem.
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Montag 21. Juli 2008, 15:35

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']
Pü-Ton
User
Beiträge: 67
Registriert: Donnerstag 8. Mai 2008, 07:52

Montag 21. Juli 2008, 15:41

Hey audax,

echt fett. Funzt prima,
1000 Dank
Die Lösung für ein Problem verändert das Problem.
Benutzeravatar
snafu
User
Beiträge: 5459
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Montag 21. Juli 2008, 15:43

Womit macht ihr eigentlich diese In und Outs? Und was ist da der Unterschied zum "normalen" Interpreter?
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Montag 21. Juli 2008, 15:53

ich nehm IPython.

IPython ist toll. Mehr ist dazu nicht zu sagen ;)
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Montag 21. Juli 2008, 16:27

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.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
snafu
User
Beiträge: 5459
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Montag 21. Juli 2008, 16:31

Danke, hab's schon installiert und mich etwas eingelesen. Am praktischsten finde ich die ??-Funktion.
Antworten