Le espressioni lambda sono una potente funzione nel linguaggio di programmazione Python . Tuttavia, possono essere un po 'intimidatorio a prima vista, soprattutto perché non hanno un equivalente diretto in linguaggi come Java , che la maggior parte dei corsi di programmazione sono tenuti in Queste espressioni consentono al programmatore di definire funzioni anonime al volo e assegnarli a un nome di variabile . È possibile creare una serie di funzioni con lambda e assegnare tutti a un unico nome di variabile . Istruzioni
1
definire una funzione con la parola chiave lambda e assegnarlo a la "somma" nome di variabile
>>> sum = lambda x , y : . X + y
test per vedere se la vostra funzione lambda funziona con il seguente comando :
>>> somma ( 2,2 ) 4
Questo dimostra l' assoluta minima per la lambda , ma si può fare un po 'di più con esso .
2
Definire più di una funzione lambda per una singola variabile.
operazione >>> = { ' somma ' : lambda x , y : x + y , ' sub ' : lambda x , y : xy , ' mul ' : lambda x , y : x * y , ' div ' : lambda x , y : x /y} >>> operazione [' sum '] ( 2,2 ) 4 >>> operazione [' mul '] (2,4 ) 8 >>> operazione [' div '] ( 4,4 ) 1 >>> operazione [' sub '] (4,1 ) 3
che ancora non svela una delle caratteristiche più belle di lambda . In realtà, più di ogni altra caratteristica , questa è quella che genera il maggior entusiasmo per le funzioni lambda in lingue più vecchi come LISP che lo sostenevano .
3
Usa lambda a , in un unico linea , eseguire un'operazione su ogni elemento in un elenco e restituire una nuova lista contenente i risultati dell'operazione .
>>> alist = [ 0 , 1 , 2 , 3 , 4 ] > mappa >> (lambda x : x * 6 , alist ) [ 0 , 6 , 12 , 18 , 24 ]
per un altro esempio , per trovare le lunghezze di tutte le parole in una stringa , utilizzare il seguendo funzione lambda :
>>> stringa = "E 'stata una lunga giornata in ufficio , ma quando torno a casa a te, è valsa la pena . " >>> ; map ( 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 ]
Questo permette ai programmatori di fare, in una breve e facile da leggere linea , quello che un programmatore Java richiederebbe quattro o cinque linee di raggiungere .