I denne artikel vil vi forsøge at lære om Python Lambda.
Definition
Lambda er en funktion defineret uden navn. Dette kan tage flere argumenter, men kun et udtryk er tilladt, der evalueres og returneres. Hvor funktionsobjekter kræves, kan vi bruge lambda-funktionen.
Syntaks:
lambda argumenter: udtryk
Eksempel 1: Funktionen nedenfor bruges til at beregne kuben for et tal.
def terning (a):returner en * a * a
print (terning (3))
Ovenstående funktion kan skrives ved hjælp af lambda, som vist nedenfor:
p = lambda x: x * x * xprint (p (3))
Eksempel 2: Funktionen nedenfor bruges til at beregne summen af to tal.
def sum_2 (x, y):returner x + y
print (sum_2 (10,20))
Ovenstående funktion kan skrives ved hjælp af lambda, som vist nedenfor:
p = lambda x, y: x + yprint (p (10,20))
Eksempel 3: Eksemplet nedenfor for lambda tager flere argumenter.
p = lambda x, y, z: x + y + zudskrive (p (10, 5, 3))
Eksempel 4: Denne funktion ganger tallet med 2 og kan skrives ved hjælp af Lambda-funktionen som nedenfor:
def func (n):return lambda x: x * n
multiply_by_2 = func (2)
udskriv (multiplicer_ ved_2 (11))
udskriv (multiplicer_ ved_2 (15))
Eksempel 5: Funktionen tager funktionen som et argument og returnerer resultatet.
funktionsargument = lambda p, f: p + f (p)udskrive (funktionsargument (5, lambda p: p * p))
udskrive (funktionsargument (10, lambda x: x - 3))
udskriv (funktionsargument (10, lambda x: x + 5))
udskrive (funktionsargument (10, lambda x: x / 5))
Eksempel 6: I eksemplet nedenfor bruges lambda til at sortere værdierne.
# (navn, efternavn, alder)data = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
data.sorter (nøgle = lambda x: x [0]) # sorter baseret på navn
udskrive (data)
data = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
data.sorter (nøgle = lambda x: x [1]) # sorter baseret på efternavn
udskrive (data)
data = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
data.sortering (nøgle = lambda x: x [2]) # sortering baseret på alder
udskriv (data)
Gå nu ind i python3-tolk.
Lambda-funktionen bruges i mange indbyggede metoder. Følgende er nogle eksempler:
1. Kort
Denne funktion kortlægger hvert element i rækkefølge ved hjælp af lambda-funktionen.
Syntaks:
kort (funktion, seq)
Eks:
nums = [1,2,3,4,5,6]
Her multiplicerer vi hvert element på listen med 2.
mul_2 = kort (lambda x: x * 2, nums)
print (list (mul_2)) # Det returnerer kortobjekt og typestarter det som liste.
I ovenstående funktion overføres hvert element i listen til lambda-funktionen, og lambda-funktionen multiplicerer den med 2.
nums = [1,2,3,4,5,6]mul_2 = kort (lambda x: x * 2, nums)
udskrive (liste (mul_2))
2. Filter
Denne funktion filtrerer alle elementerne på en liste ud, som lambda-funktionen returnerer True for.
Syntaks:
filter (funktion, seq)
Eks:
nums = [0,1,2,3,4,5,6,7,8,9,10]
odd_nums = filter (lambda x: x% 2, nums)
print (liste (ulige_numre)) # Det returnerer kortobjekt og typestarter det som liste.
odd_nums = filter (lambda x: x% 2, nums)
udskriv (liste (ulige_numre))
3. Reducere
Denne funktion returnerer en enkelt værdi ved at anvende funktion func () til sekvensen.
Syntaks:
reducere (func, seq)
Eks:
nums = [0,1,2,3,4,5,6,7,8,9,10]
værdi = reducer (lambda x, y: x + y, nums)
print (værdi)
I ovenstående liste vil det tage de første 2 elementer og udføre tilføjelse. Resultatet af en tilføjelse føjes til det tredje element og så videre. Endelig returnerer den en enkelt værdi.
Bemærk: Denne metode er ikke tilgængelig i python3 + versionen.
nums = [0,1,2,3,4,5,6,7,8,9,10]værdi = reducer (lambda x, y: x + y, nums)
print (værdi)
Konklusion
Fra denne artikel har vi lært mange aspekter af lambda-funktionen. Afhængigt af hvad programmet har brug for, kan vi bruge det og lave bedre pythonkodning. Dette bruges mest til at overføre argumenter til en anden funktion (for eksempel har vi set ovenstående funktioner kortlægge, filtrere og reducere).