English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo articolo, imparerai le funzioni anonime, anche chiamate funzioni lambda. Attraverso esempi, imparerai cosa sono, la loro sintassi e come utilizzarle.
In Python, le funzioni anonime non hanno un nome di definizione.Funzione.
Nonostante def sia una parola chiave in Python utilizzata per definire funzioni normali, lambda è una parola chiave utilizzata per definire funzioni anonime.
Quindi, le funzioni anonime sono anche chiamate funzioni lambda.
La funzione lambda in Python ha la seguente sintassi.
lambda arguments: expression
La funzione lambda può avere un numero arbitrario di parametri, ma può avere solo un'espressione. L'espressione viene valutata e restituita. La funzione lambda può essere utilizzata ovunque sia necessario un oggetto funzione.
Questo è un esempio di funzione lambda che raddoppia il valore di input.
# 展示程序中使用lambda函数 double = lambda x: x * 2 print(double(5))
Risultato di output
10
Nel programma sopra, lambda x: x * 2 è una funzione lambda. Qui x è il parametro, x * 2 è l'espressione di valutazione e restituzione.
Questa funzione non ha un nome. Restituisce un oggetto funzione, che viene assegnato all'identificatore double. Ora possiamo chiamarla funzione normale. Dichiarazione di seguito
double = lambda x: x * 2
equivale a:
def double(x): return x * 2
Quando abbiamo bisogno temporaneamente di una funzione anonima, utilizziamo la funzione lambda.
In Python, lo utilizziamo di solito come argomento di funzioni di alto livello (le quali accettano altre funzioni come argomenti)argomenti)。La funzione lambda può essere utilizzata insieme a filter(), map() e altre funzioni native.
La funzione filter() in Python accetta una funzione e una lista come parametri.
Chiamare la funzione con tutti gli elementi della lista e restituire una nuova lista che contiene gli elementi per cui il risultato della funzione è True.
Questo è un esempio di come filtrare solo i numeri pari dalla lista utilizzando la funzione filter().
# Filtra gli elementi pari dalla lista my_list = [1, 5, 4, 6, 8, 11, 3, 12] new_list = list(filter(lambda x: (x % 2 == 0), my_list)) print(new_list)
Risultato di output
[4, 6, 8, 12]
La funzione map() in Python accetta una funzione e una lista.
Chiamare la funzione con tutti gli elementi della lista e restituire una nuova lista che contiene gli elementi restituiti dalla funzione per ciascun elemento.
Questo è un esempio di come moltiplicare per due tutti gli elementi di una lista utilizzando la funzione map().
# Utilizza map() per raddoppiare ogni elemento della lista my_list = [1, 5, 4, 6, 8, 11, 3, 12] new_list = list(map(lambda x: x * 2, my_list)) print(new_list)
Risultato di output
[2, 10, 8, 12, 16, 22, 6, 24]