Lambda uttrykk er en kraftig funksjon i programmeringsspråket Python . Men de kan være litt skremmende ved første øyekast, spesielt siden de har ingen direkte tilsvarende i språk som Java som de fleste programmeringsspråk kurs blir undervist i. Disse uttrykkene tillate programmereren å definere navngitte funksjoner på fly og tilordne dem til en variabel navn . Du kan opprette en rekke funksjoner med lambda og tilordne dem til en enkelt variabel navn . Instruksjoner
en
Definer en funksjon med lambda søkeord og tilordne den til " summen " variable navn
>>> sum = lambda x , y: . X + y
Test for å se om lambda funksjonen fungerer med følgende kommando : en
>>> sum ( 2,2) 4
p Dette viser den absolutte minimum for lambda , men du kan gjøre litt mer med den.
2
Definer mer enn én lambda funksjonen til en enkelt variabel .
>>> drift = { ' sum ': lambda x , y: x + y , ' sub ': lambda x , y: xy , ' mul ': lambda x , y: x * y , ' div ': lambda x , y: x /y } >>> drift [' sum '] (2,2 ) 4 >>> drift [' mul '] (2,4 ) 8 >>> drift [' div '] (4,4 ) 1 >>> drift [' sub '] (4,1) 3
som fortsatt ikke avsløre en av de mest imponerende funksjonene i lambda . Faktisk mer enn noen annen funksjon , er dette den som genererer mest spenning om lambda- funksjoner i eldre språk som LISP som støttet den.
3
Bruk lambda til , i en enkelt linje, utfører en operasjon på hvert element på en liste og returnerer en ny liste som inneholder resultatene av operasjonen.
>>> alist = [ 0 , 1, 2, 3 , 4] > >> map ( lambda x : x * 6 , alist ) [ 0 , 6 , 12, 18 , 24]
for et annet eksempel , for å finne lengdene av alle ordene i en streng , bruker etter lambda -funksjon : en
>>> string = " det var en veldig lang dag på kontoret , men når jeg kommer hjem til deg, det er alt verdt. " >>> ; kart ( 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 ]
Dette gjør at en programmerer å gjøre , i en kort og lett å lese linje, hva en Java -programmerer ville kreve fire eller fem linjer for å oppnå.