U ovom ćete članku naučiti o anonimnoj funkciji, poznatoj i kao lambda funkcije. Naučit ćete što su oni, njihova sintaksa i kako ih koristiti (s primjerima).
Što su lambda funkcije u Pythonu?
U Pythonu je anonimna funkcija funkcija koja je definirana bez imena.
Dok se normalne funkcije definiraju pomoću def
ključne riječi u Pythonu, anonimne funkcije definiraju se pomoću lambda
ključne riječi.
Stoga se anonimne funkcije nazivaju i lambda funkcije.
Kako koristiti lambda funkcije u Pythonu?
Lambda funkcija u pythonu ima sljedeću sintaksu.
Sintaksa Lambda funkcije u pythonu
lambda argumenti: izraz
Lambda funkcije mogu imati bilo koji broj argumenata, ali samo jedan izraz. Izraz se procjenjuje i vraća. Lambda funkcije mogu se koristiti gdje god su potrebni objekti funkcije.
Primjer Lambda funkcije u pythonu
Evo primjera lambda funkcije koja udvostručuje ulaznu vrijednost.
# Program to show the use of lambda functions double = lambda x: x * 2 print(double(5))
Izlaz
10
U gornjem programu lambda x: x * 2
je funkcija lambda. Ovdje je x argument i x * 2
izraz koji se procjenjuje i vraća.
Ova funkcija nema naziv. Vraća funkcijski objekt koji je dodijeljen identifikatoru double
. Sada to možemo nazvati normalnom funkcijom. Izjava
dvostruko = lambda x: x * 2
je gotovo isto kao:
def double (x): povratak x * 2
Upotreba Lambda funkcije u pythonu
Lambda funkcije koristimo kad nam je nakratko potrebna bezimena funkcija.
U Pythonu ga obično koristimo kao argument funkciji višeg reda (funkcija koja druge funkcije uzima kao argumente). Lambda funkcije upotrebljavaju zajedno s ugrađenim funkcijama sviđa filter()
, map()
itd
Primjer upotrebe s filtrom ()
filter()
Funkcija u Pythonu uzima u funkciji i popis kao argumente.
Funkcija se poziva sa svim stavkama na popisu i vraća se novi popis koji sadrži stavke za koje funkcija procjenjuje True
.
Evo primjera upotrebe filter()
funkcije za filtriranje samo parnih brojeva s popisa.
# Program to filter out only the even items from a list my_list = (1, 5, 4, 6, 8, 11, 3, 12) new_list = list(filter(lambda x: (x%2 == 0) , my_list)) print(new_list)
Izlaz
(4, 6, 8, 12)
Primjer upotrebe s mapom ()
map()
Funkcija u Pythonu uzima u funkciji i popis.
Funkcija se poziva sa svim stavkama na popisu i vraća se novi popis koji sadrži stavke koje je funkcija vratila za svaku stavku.
Evo primjera upotrebe map()
funkcije za udvostručavanje svih stavki na popisu.
# Program to double each item in a list using map() my_list = (1, 5, 4, 6, 8, 11, 3, 12) new_list = list(map(lambda x: x * 2 , my_list)) print(new_list)
Izlaz
(2, 10, 8, 12, 16, 22, 6, 24)