Gerade war ich etwas zu schnell...
neueliste = [ x[0] for x in alteliste ]
Ok, jetzt kann ich map(lambda... ersetzen. Geht es auch mit filter(lambda... ? Das: l = [1,2,3,4,3,2,1,2,3,5] [ x if x in [1,2,3] for x in l ] geht ja leider nicht, auch nicht mit Klammern.
Eigentlich verstehe ich auch den Sinn der Generatoren nicht. Sind sie schneller/effektiver als die anderen Konstrukte?
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. Grüße vom Südsee! Henning Hraban Ramm Südkurier Medienhaus / MediaPro Systembetreuung / Systementwicklung _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de
Henning.Ramm@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@goebel-consult.de | www.goebel-consult.de | _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de
On Montag, 4. Juli 2005 13:04, Henning.Ramm@mediapro-gmbh.de wrote:
l = [1,2,3,4,3,2,1,2,3,5] [ x if x in [1,2,3] for x in l ] [x for x in l if x in [1,2,3]] sowas?
-Falk _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de
participants (3)
-
Falk Friedrich
-
Hartmut Goebel
-
Henning.Ramm@mediapro-gmbh.de