Python Lambda (anonimna) funkcija

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 defključno besedo v Pythonu, anonimne funkcije definiramo s lambdaključ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 * 2je funkcija lambda. Tu je x argument in x * 2izraz, 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)

Zanimive Članki...