Python

Python Lambda

Python Lambda

V tem članku bomo poskušali spoznati Python Lambda.

Definicija

Lambda je funkcija, definirana brez imena. To lahko traja več argumentov, vendar je dovoljen le en izraz, ki je ovrednoten in vrnjen. Kjer so potrebni objekti funkcije, lahko uporabimo funkcijo lambda.

Sintaksa:
lambda argumenti: izraz

Primer 1: Spodnja funkcija se uporablja za izračun kocke števila.

def kocka (a):
vrni a * a * a
tisk (kocka (3))

Zgornjo funkcijo lahko zapišemo s pomočjo lambda, kot je prikazano spodaj:

p = lambda x: x * x * x
natisni (p (3))

2. primer: Spodnja funkcija se uporablja za izračun vsote dveh števil.

def sum_2 (x, y):
vrnitev x + y
natisni (vsota_2 (10,20))

Zgornjo funkcijo lahko zapišemo z lambda, kot je prikazano spodaj:

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

3. primer: Spodnji primer za lambda vsebuje več argumentov.

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

Primer 4: Ta funkcija pomnoži število s 2 in jo lahko zapišemo s pomočjo funkcije Lambda, kot spodaj:

def func (n):
vrnitev lambda x: x * n
multiply_by_2 = func (2)
natisni (pomnoži z__2) (11))
tiskanje (pomnoži z__2) (15))

Primer 5: Funkcija vzame funkcijo kot argument in vrne rezultat.

argument_funkcije = lambda p, f: p + f (p)
tiskanje (argument_funkcije (5, lambda p: p * p))
natisni (argument_funkcije (10, lambda x: x - 3))
tiskanje (argument_funkcije (10, lambda x: x + 5))
tiskanje (argument_funkcije (10, lambda x: x / 5))

Primer 6: V spodnjem primeru se lambda uporablja za razvrščanje vrednosti.

# (ime, priimek, starost)
podatki = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
podatkov.sort (key = lambda x: x [0]) # razvrščanje glede na ime
tisk (podatki)
podatki = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
podatkov.razvrsti (ključ = lambda x: x [1]) # razvrsti glede na priimek
tisk (podatki)
podatki = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
podatkov.sort (key = lambda x: x [2]) # razvrščanje glede na starost
tisk (podatki)

Zdaj pojdite na tolmač python3.

Lambda funkcija se uporablja v mnogih vgrajenih metodah. Sledi nekaj primerov:

1. Zemljevid

Ta funkcija preslika vsak element v zaporedju z uporabo lambda funkcije.

Sintaksa:
zemljevid (funkcija, naslednja)

Primer:
števila = [1,2,3,4,5,6]
Tu bomo pomnožili vsak element na seznamu z 2.
mul_2 = zemljevid (lambda x: x * 2, števila)
print (list (mul_2)) # Vrne objekt zemljevida in ga vtipka kot seznam.

V zgornji funkciji se vsak element seznama posreduje lambda funkciji in lambda funkcija ga pomnoži z 2.

števila = [1,2,3,4,5,6]
mul_2 = zemljevid (lambda x: x * 2, števila)
natisni (seznam (mul_2))

2. Filter

Ta funkcija filtrira vse elemente seznama, za katere lambda funkcija vrne True.

Sintaksa:
filter (funkcija, naslednja)

Primer:
številke = [0,1,2,3,4,5,6,7,8,9,10]
odd_nums = filter (lambda x: x% 2, števila)
print (list (odd_nums)) # Vrne objekt zemljevida in ga vtipka kot seznam.

številke = [0,1,2,3,4,5,6,7,8,9,10]
odd_nums = filter (lambda x: x% 2, števila)
natisni (seznam (lihe_številke))

3. Zmanjšajte

Ta funkcija vrne eno vrednost z uporabo funkcije func () v seq.

Sintaksa:
zmanjšanje (func, seq)

Primer:
številke = [0,1,2,3,4,5,6,7,8,9,10]
vrednost = zmanjšanje (lambda x, y: x + y, števila)
tisk (vrednost)

Na zgornjem seznamu bo zajel prva dva elementa in izvedel dodajanje. Rezultat seštevanja bo dodan tretjemu elementu itd. Na koncu bo vrnil eno vrednost.

Opomba: Ta metoda ni na voljo v različici python3 +.

številke = [0,1,2,3,4,5,6,7,8,9,10]
vrednost = zmanjšanje (lambda x, y: x + y, števila)
tisk (vrednost)

Zaključek

Iz tega članka smo se naučili številnih vidikov lambda funkcije. Odvisno od tega, kaj program potrebuje, ga lahko uporabimo in izboljšamo kodiranje pythona. To se najpogosteje uporablja za posredovanje argumentov drugi funkciji (na primer, videli smo zgoraj, da funkcije preslikajo, filtrirajo in zmanjšajo).

Kako zajeti in pretakati svojo igralno sejo v Linuxu
V preteklosti je bilo igranje iger le hobi, sčasoma pa je igralniška industrija zabeležila veliko rast glede tehnologije in števila igralcev. Občinstv...
Najboljše igre z ročnim sledenjem
Oculus Quest je pred kratkim predstavil odlično idejo ročnega sledenja brez krmilnikov. Z vedno večjim številom iger in dejavnosti, ki izvajajo podpor...
Kako prikazati prekrivanje zaslonskega menija v celozaslonskih aplikacijah in igrah za Linux
Igranje celozaslonskih iger ali uporaba aplikacij v celozaslonskem načinu brez motenj vam lahko odreže ustrezne sistemske informacije, ki so vidne na ...