Python

Python Lambda

Python Lambda

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 * x
print (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 + y
print (p (10,20))

Eksempel 3: Eksemplet nedenfor for lambda tager flere argumenter.

p = lambda x, y, z: x + y + z
udskrive (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.

nums = [0,1,2,3,4,5,6,7,8,9,10]
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).

Sådan vises OSD-overlay i fuldskærms Linux-apps og -spil
Afspilning af fuldskærmsspil eller brug af apps i distraktionsfri fuldskærmstilstand kan afskære dig fra relevante systemoplysninger, der er synlige i...
Top 5 spiloptagelseskort
Vi har alle set og elsket streaming af gameplay på YouTube. PewDiePie, Jakesepticye og Markiplier er kun nogle af de bedste spillere, der har tjent mi...
Sådan udvikler du et spil på Linux
For et årti siden ville ikke mange Linux-brugere forudsige, at deres foretrukne operativsystem en dag ville være en populær spilplatform til kommercie...