[Python-de] flache Liste
Hartmut Goebel
h.goebel at goebel-consult.de
Mon Jul 4 14:04:39 CEST 2005
Henning.Ramm at mediapro-gmbh.de schrieb:
> Ok, jetzt kann ich map(lambda... ersetzen.
> Geht es auch mit filter(lambda... ?
Ja.
> [ x if x in [1,2,3] for x in l ]
Fast. Richtig ist:
[ x for x in l if x in [1,2,3] ]
> geht ja leider nicht, auch nicht mit Klammern.
Da hilft dann ein Blick in die Tuorien, die Doku und norfalls in die
Syntax-Definition :-)
> Für mich sieht es so aus, dass man mit ihnen flexibler ist,
> weil man einen Generator als Funktionsreferenz verwenden kann
> (was bei map wohl nicht geht) - aber das brauche ich hier
> ja nicht.
Natürlich kann man map als Funktionsreferenz benutzen, wenn auch nicht
so, wie Du meinst :-)
mymap = map
map = ashdfkjahdfkj
"Als Funktionreferenz verwendbar" ist aber nicht der Grund für
Generatoren. Dann das könnte man auch anders lösen:
def map_my_data(liste)
return map(lamba x: x[], liste)
Mehr informationen zu Generatoren findest Du in
<http://www.python.org/doc/2.3/whatsnew/section-generators.html> und
<http://www.python.org/peps/pep-0255.html>.
--
Schönen Gruß - Regards
Hartmut Goebel
| Hartmut Goebel | IT-Security -- effizient |
| h.goebel at goebel-consult.de | www.goebel-consult.de |