V tem članku boste izvedeli o anonimni funkciji, znani tudi kot lambda funkcije. Naučili se boste, kaj so, njihova sintaksa in kako jih uporabljati (s primeri).
Kaj so lambda funkcije v Pythonu?
V Pythonu je anonimna funkcija funkcija, ki je definirana brez imena.
Medtem ko so običajne funkcije definirane s def
ključno besedo v Pythonu, anonimne funkcije definiramo s lambda
ključno besedo.
Zato se anonimne funkcije imenujejo tudi lambda funkcije.
Kako uporabljati lambda funkcije v Pythonu?
Lambda funkcija v pythonu ima naslednjo sintakso.
Sintaksa Lambda funkcije v pythonu
lambda argumenti: izraz
Lambda funkcije imajo lahko poljubno število argumentov, vendar le en izraz. Izraz se ovrednoti in vrne. Lambda funkcije se lahko uporabljajo povsod, kjer so potrebni objekti funkcij.
Primer Lambda funkcije v pythonu
Tu je primer lambda funkcije, ki podvoji vhodno vrednost.
# Program to show the use of lambda functions double = lambda x: x * 2 print(double(5))
Izhod
10.
V zgornjem programu lambda x: x * 2
je funkcija lambda. Tu je x argument in x * 2
izraz, ki se ovrednoti in vrne.
Ta funkcija nima imena. Vrne funkcijski objekt, ki je dodeljen identifikatorju double
. Zdaj jo lahko imenujemo kot običajno funkcijo. Izjava
dvojno = lambda x: x * 2
je skoraj enako kot:
def double (x): vrnitev x * 2
Uporaba Lambda funkcije v pythonu
Lambda funkcije uporabljamo, kadar za kratek čas potrebujemo brezimeno funkcijo.
V Pythonu ga navadno uporabljamo kot argument za funkcijo višjega reda (funkcija, ki druge funkcije prevzame kot argumente). Lambda funkcije se uporabljajo skupaj z vgrajenimi funkcijami, kot filter()
so map()
itd.
Primer uporabe s filtrom ()
filter()
Funkcija v Python je v funkciji in seznam kot argumente.
Funkcija se pokliče z vsemi elementi na seznamu in vrne se nov seznam, ki vsebuje elemente, za katere funkcija ocenjuje True
.
Tu je primer uporabe filter()
funkcije za filtriranje samo parnih številk s seznama.
# 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)
Izhod
(4, 6, 8, 12)
Primer uporabe z zemljevidom ()
map()
Funkcija v Python je v funkciji in s seznama.
Funkcija se pokliče z vsemi elementi na seznamu in vrne se nov seznam, ki vsebuje elemente, ki jih funkcija vrne za vsak element.
Tu je primer uporabe map()
funkcije za podvojitev vseh elementov na seznamu.
# 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)
Izhod
(2, 10, 8, 12, 16, 22, 6, 24)