Python Lambda (anonimna) funkcija

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 defključne riječi u Pythonu, anonimne funkcije definiraju se pomoću lambdaključ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 * 2je funkcija lambda. Ovdje je x argument i x * 2izraz 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)

Zanimljivi članci...