Funzione Python Lambda (Anonimo)

In questo articolo imparerai a conoscere la funzione anonima, nota anche come funzioni lambda. Imparerai cosa sono, la loro sintassi e come usarli (con esempi).

Cosa sono le funzioni lambda in Python?

In Python, una funzione anonima è una funzione definita senza un nome.

Mentre le funzioni normali vengono definite utilizzando la defparola chiave in Python, le funzioni anonime vengono definite utilizzando la lambdaparola chiave.

Quindi, le funzioni anonime sono anche chiamate funzioni lambda.

Come utilizzare le funzioni lambda in Python?

Una funzione lambda in python ha la seguente sintassi.

Sintassi della funzione Lambda in python

 argomenti lambda: espressione

Le funzioni Lambda possono avere un numero qualsiasi di argomenti ma solo un'espressione. L'espressione viene valutata e restituita. Le funzioni Lambda possono essere utilizzate ovunque siano richiesti oggetti funzione.

Esempio di funzione Lambda in python

Ecco un esempio di funzione lambda che raddoppia il valore di input.

 # Program to show the use of lambda functions double = lambda x: x * 2 print(double(5))

Produzione

 10

Nel programma sopra, lambda x: x * 2è la funzione lambda. Qui x è l'argomento ed x * 2è l'espressione che viene valutata e restituita.

Questa funzione non ha nome. Restituisce un oggetto funzione che è assegnato all'identificatore double. Ora possiamo chiamarlo come una normale funzione. La dichiarazione

 double = lambda x: x * 2

è quasi uguale a:

 def double (x): return x * 2

Uso della funzione Lambda in python

Usiamo le funzioni lambda quando richiediamo una funzione senza nome per un breve periodo di tempo.

In Python, generalmente lo usiamo come argomento per una funzione di ordine superiore (una funzione che accetta altre funzioni come argomenti). Le funzioni Lambda vengono utilizzate insieme a funzioni integrate come filter(), map()ecc.

Esempio di utilizzo con filter ()

La filter()funzione in Python accetta una funzione e un elenco come argomenti.

La funzione viene chiamata con tutti gli elementi nell'elenco e viene restituito un nuovo elenco che contiene gli elementi per i quali la funzione valuta True.

Di seguito è riportato un esempio di utilizzo della filter()funzione per filtrare solo i numeri pari da un elenco.

 # 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)

Produzione

 (4, 6, 8, 12)

Esempio di utilizzo con map ()

La map()funzione in Python accetta una funzione e un elenco.

La funzione viene chiamata con tutti gli elementi nell'elenco e viene restituito un nuovo elenco che contiene gli elementi restituiti da quella funzione per ogni elemento.

Ecco un esempio di utilizzo della map()funzione per raddoppiare tutti gli elementi in un elenco.

 # 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)

Produzione

 (2, 10, 8, 12, 16, 22, 6, 24)

Articoli interessanti...