Python

Python Lambda

Python Lambda

I denne artikkelen vil vi prøve å lære om Python Lambda.

Definisjon

Lambda er en funksjon definert uten navn. Dette kan ta flere argumenter, men bare ett uttrykk er tillatt som evalueres og returneres. Der funksjonsobjekter er påkrevd, kan vi bruke lambda-funksjonen.

Syntaks:
lambda argumenter: uttrykk

Eksempel 1: Funksjonen nedenfor brukes til å beregne kuben til et tall.

def kube (a):
returner a * a * a
trykk (kube (3))

Ovennevnte funksjon kan skrives med lambda, som vist nedenfor:

p = lambda x: x * x * x
skriv ut (p (3))

Eksempel 2: Funksjonen nedenfor brukes til å beregne summen av to tall.

def sum_2 (x, y):
returner x + y
trykk (sum_2 (10,20))

Ovennevnte funksjon kan skrives med lambda, som vist nedenfor:

p = lambda x, y: x + y
trykk (p (10,20))

Eksempel 3: Eksemplet nedenfor for lambda tar flere argumenter.

p = lambda x, y, z: x + y + z
skriv ut (p (10, 5, 3))

Eksempel 4: Denne funksjonen multipliserer tallet med 2 og kan skrives ved hjelp av Lambda-funksjonen som nedenfor:

def func (n):
retur lambda x: x * n
multiply_by_2 = func (2)
skriv ut (multipliser_by_2 (11))
skriv ut (multipliser_by_2 (15))

Eksempel 5: Funksjonen tar funksjon som argument og returnerer resultatet.

funksjonsargument = lambda p, f: p + f (p)
skriv ut (funksjonsargument (5, lambda p: p * p))
skriv ut (funksjonsargument (10, lambda x: x - 3))
skriv ut (funksjonsargument (10, lambda x: x + 5))
skriv ut (funksjonsargument (10, lambda x: x / 5))

Eksempel 6: I eksemplet nedenfor brukes lambda til å sortere verdiene.

# (navn, etternavn, alder)
data = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
data.sorter (nøkkel = lambda x: x [0]) # sorter basert på navn
skriv ut (data)
data = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
data.sorter (nøkkel = lambda x: x [1]) # sorter basert på etternavn
skriv ut (data)
data = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
data.sorter (nøkkel = lambda x: x [2]) # sorter basert på alder
skriv ut (data)

Gå nå inn i python3-tolk.

Lambda-funksjonen brukes i mange innebygde metoder. Følgende er noen eksempler:

1. Kart

Denne funksjonen kartlegger hvert element i rekkefølge ved hjelp av lambda-funksjonen.

Syntaks:
kart (funksjon, seq)

Eks:
nums = [1,2,3,4,5,6]
Her vil vi multiplisere hvert element i listen med 2.
mul_2 = kart (lambda x: x * 2, nums)
print (list (mul_2)) # Den returnerer kartobjekt og skriver frem som liste.

I ovennevnte funksjon blir hvert element i listen overført til lambda-funksjonen, og lambda-funksjonen vil multiplisere den med 2.

nums = [1,2,3,4,5,6]
mul_2 = kart (lambda x: x * 2, nums)
skriv ut (liste (mul_2))

2. Filter

Denne funksjonen filtrerer ut alle elementene i en liste som lambda-funksjonen returnerer True for.

Syntaks:
filter (funksjon, seq)

Eks:
tall = [0,1,2,3,4,5,6,7,8,9,10]
odd_nums = filter (lambda x: x% 2, nums)
print (list (odd_nums)) # Den returnerer kartobjekt, og skriver frem som liste.

tall = [0,1,2,3,4,5,6,7,8,9,10]
odd_nums = filter (lambda x: x% 2, nums)
skriv ut (liste (oddetall))

3. Redusere

Denne funksjonen returnerer en enkelt verdi ved å bruke funksjon func () til sekvensen.

Syntaks:
redusere (func, seq)

Eks:
tall = [0,1,2,3,4,5,6,7,8,9,10]
verdi = reduser (lambda x, y: x + y, nums)
skriv ut (verdi)

I listen ovenfor tar det de to første elementene og utfører tillegg. Resultatet av et tillegg vil bli lagt til det tredje elementet og så videre. Til slutt vil den returnere en enkelt verdi.

Merk: Denne metoden er ikke tilgjengelig i python3 + -versjonen.

tall = [0,1,2,3,4,5,6,7,8,9,10]
verdi = reduser (lambda x, y: x + y, nums)
skriv ut (verdi)

Konklusjon

Fra denne artikkelen har vi lært mange aspekter av lambda-funksjonen. Avhengig av hva programmet trenger, kan vi bruke det og lage bedre pythonkoding. Dette brukes oftest til å overføre argumenter til en annen funksjon (for eksempel har vi sett ovenfor funksjoner kartlegge, filtrere og redusere).

Shadow of the Tomb Raider for Linux Tutorial
Shadow of the Tomb Raider er det tolvte tilskuddet til Tomb Raider-serien - et action-eventyrspill-franchise opprettet av Eidos Montreal. Spillet ble ...
Hvordan øke FPS i Linux?
FPS står for Bilder per sekund. FPSs oppgave er å måle bildefrekvensen i videoavspilling eller spillprestasjoner. Med enkle ord betegnes antall uavbru...
Topp Oculus App Lab-spill
Hvis du er Oculus-hodesettinnehaver, må du være klar over sideloading. Sidelading er prosessen med å installere ikke-butikkinnhold på hodesettet. Side...