Lambda uttryck är ett kraftfullt verktyg i programmeringsspråket Python . Men de kan vara lite skrämmande vid första anblicken , särskilt eftersom de inte har någon direkt motsvarighet i språk som Java att de flesta kurser i programmering undervisas i. Dessa uttryck tillåter programmeraren att definiera icke namngivna funktioner i farten och hänföra dem till ett variabelnamn . Du kan skapa en mängd funktioner med lambda och tilldela dem till en enda variabel namn
1 .
Definiera en funktion med lambda sökordet och tilldela den till " sum " variabelnamn .
> > > summa=lambda x , y : x + y
Testa om din lambda -funktionen fungerar med följande kommando :
summan (2,2 )
4
Detta visar ett absolut minimum på lambda, men du kan göra lite mer med det.
<. br > 2
definiera mer än en lambda -funktion till en enda variabel
> > > operation={ ' summa ' . lambda x , y : x + y , " sub " : lambda x , y : xy , " mul " : lambda x , y : x * y , " div " : lambda x , y : x /y }
> > drift [ " summa " ] (2,2 )
4
> > > operation [ ' multi ' ] (2,4 )
8
> > operation [ ' div ' ] ( 4,4 )
1
> > operation [ ' sub ' ] (4,1 )
3
Det fortfarande inte avslöja en av de mest fantastiska funktioner i lambda . Faktum är att mer än någon annan egenskap , detta är den som genererar mest spänning om lambda funktioner i äldre språk som LISP som stödde det .
3 .
Använd lambda att på ett enda rad , utföra en åtgärd på varje element på en lista och returnera en ny lista som innehåller resultaten av operationen.
> alist=[ 0 , 1 , 2 , 3, 4 ]
> > > Karta ( lambda x : x * 6 , alist )
[ 0 , 6 , 12 , 18 , 24 ]
För ett annat exempel , för att finna längden av alla ord i en sträng , använd följande lambda funktion :
> > string=" Det var en mycket lång dag på kontoret , men när jag kommer hem till dig , är det värt all möda. "
> > > Karta ( 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 ]
Detta gör att en programmerare att göra , i ett kort och lätt att läsa linje , vad en Java -programmerare skulle kräva fyra eller fem rader att uppnå.
Previous:nothing Next:hur man använder certifikat fabrik i java