Lambda-Ausdrücke sind ein mächtiges Feature in der Programmiersprache Python . Sie können jedoch ein wenig einschüchternd auf den ersten Blick , zumal sie keine direkte Entsprechung in Sprachen wie Java haben , dass die meisten Programmier-Kurse in. gelehrt Diese Ausdrücke ermöglichen es dem Programmierer, unbenannte Funktionen on the fly zu definieren und ordnen sie einer variablen Namen . Sie können eine Reihe von Funktionen mit Lambda erstellen und ordnen sie alle zu einem einzigen variablen Namen. Anleitung
1
Definieren Sie eine Funktion mit dem Lambda- Schlüsselwort und ordnen Sie es der " Summe " variable Namen
>>> sum = Lambda x , y : . X + y
Test, um zu sehen, ob Ihre Lambda-Funktion arbeitet mit dem folgenden Befehl:
>>> Summe (2,2) 4
Dies zeigt die absolute Minimum für Lambda , aber man kann ein wenig mehr mit ihm.
2
Definieren Sie mehr als eine Lambda-Funktion , um eine einzelne Variable.
>>> Betrieb = { ' sum' : lambda x , y : x + y, ' sub' : lambda x , y : xy " mul " : lambda x , y : x * y, ' div ' : lambda x , y : x /y} Betrieb >>> [' Summe '] (2,2) 4 >>> Betrieb [' mul '] (2,4) 8 >>> Betrieb [' div '] ( 4,4 ) 1 >>> Betrieb [' sub' ] (4,1) 3
, die noch keine Rückschlüsse auf eine der schönsten Eigenschaften des Lambda . In der Tat, mehr als jede andere Funktion , das ist derjenige, der die meisten Aufregung über Lambda-Funktionen in älteren Sprachen wie LISP , die es unterstützt generiert .
3
Nutzungsbedingungen Lambda in einem einzigen Linie , eine Operation für jedes Element in einer Liste und gibt eine neue Liste mit den Ergebnissen der Operation.
>>> alist = [0, 1, 2, 3, 4] > >> map ( lambda x : x * 6, alist ) [0 , 6, 12 , 18, 24 ]
Für ein weiteres Beispiel , um die Längen aller Wörter in einem String zu finden , verwenden Sie die nach Lambda-Funktion :
>>> string = "Es war ein sehr langer Tag im Büro, aber wenn ich nach Hause komme , dann ist es lohnt sich ." >>> ; Karte (lambda x : len (x) , string.split () ) [2, 3, 1, 4, 4 , 3, 2 , 3, 7 , 3, 4 , 1, 4 , 4, 2 , 4, 2, 2 , 3, 11 ]
Dies ermöglicht ein Programmierer zu tun , in eine kurze und leicht zu Linie , was für ein Java-Programmierer würde vier oder fünf Linien zu erreichen, zu lesen.