Block vor der for-schleife?

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
cptnofuture
User
Beiträge: 14
Registriert: Donnerstag 17. Juli 2008, 15:51

Moin!

Ich bin ein Neuling in Sachen Python (und in diesem hilfreichen Forum) und dachte ich haette so die grundlegenden Dinge verstanden. Dann bin ich aber in einem Code auf folgendes gestossen:

[code=py]
newlist = [mydic[i ] for i in mylist]
[/code]

davor und danach passiert nichts interessantes, werden irgendwelche Sachen sortiert und ausgefiltert...

meine Frage: kann man den auszufuehrenden Block vor eine Schleife schreiben? In meinem Python Buch finde ich keine Hinweise auf so etwas und nach den ersten paar Seiten in der Google-Trefferliste hab ich aufgegeben zu suchen...

Ist einem von Euch sowas schonmal begegnet? Wozu benutzt man es? Scheint praktisch zu sein, wenn man Listen fuellen will. Kann man das auch verschachteln? Tauchen solche Konstrukte (Block vor for/if/while etc.) in Python oefter auf? Ich dachte eigentlich, dass ein ":" anzeigt, dass nun der Blockinhalt folgt.

Vielleicht ist es ja auch eine gebraeuchliche Methode, mich verwirrt das allerdings etwas....

Gruss,
cpt.[/code]
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Das ist eine list comprehension (LC). Die Forensuche, die Dokumentation und Google sollten zu dem Thema einiges hergeben.
cptnofuture
User
Beiträge: 14
Registriert: Donnerstag 17. Juli 2008, 15:51

Danke!

Davon wurde in meinem Python fuer Anfaenger Buch nichts geschrieben... Aber mit dem Suchbegriff bin ich schon weiter gekommen!

Danke nochmal,
cpt
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

cptnofuture hat geschrieben:Davon wurde in meinem Python fuer Anfaenger Buch nichts geschrieben... Aber mit dem Suchbegriff bin ich schon weiter gekommen!
Die sind in Python 2.3 dazugekommen - vielleicht ist dein Buch noch älter. In dem Fall kannst du mal unter [wiki]Neue Features[/wiki] schauen, dort werden einige der Sachen erklärt.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten