Come usare le funzioni Lambda in Python

Come usare le funzioni Lambda in Python
Questo articolo spiegherà come utilizzare le funzioni Lambda in Python. Le funzioni di lambda possono essere utilizzate per scrivere una linea onesta concisa, implementare la logica e ottenere rapidamente valori di ritorno che possono essere alimentati ad altre espressioni.

Sulle funzioni di lambda

Le funzioni Lambda in Python sono funzioni senza nome e anonime che possono essere utilizzate per creare espressioni che restituiscono una sorta di valore in base ai calcoli implementati nell'espressione stessa. La logica in queste funzioni Lambda può essere scritta in modo conciso, di solito qualcosa che si adatta facilmente in una linea. A volte possono essere difficili da leggere, specialmente se le persone non sono esperte di funzioni Lambda. Tuttavia hanno il vantaggio di tenere insieme le cose all'interno dei blocchi di codice e aiutano meglio a comprendere il contesto.

Sintassi delle funzioni Lambda

La sintassi di una funzione Lambda in Python sembra così:

multiply = lambda x, y: x * y

La prima parte dell'espressione di lambda, poco prima del colon (:) simbolo, prende i parametri come argomenti. La seconda parte, dopo il simbolo del colon, deve essere un valore di ritorno. Questo valore di ritorno può essere un'espressione anche con la logica. In effetti, le funzioni Lambda vengono utilizzate quasi sempre per implementare alcune logiche sugli argomenti forniti e quindi restituire il risultato finale.

Per testare la funzione Lambda sopra indicata, è possibile utilizzare la seguente istruzione:

Stampa (multiplica (3, 4))

Dovresti ottenere il seguente output:

12

La stessa funzione Lambda sarebbe altrimenti scritta nel modo seguente:

def multiplica (x, y):
restituire x * y
Stampa (multiplica (3, 4))

Entrambi i campioni di codice forniranno lo stesso output. Di seguito sono spiegati alcuni altri esempi di funzioni Lambda.

Passa le funzioni di lambda come argomenti

È possibile utilizzare le funzioni Lambda per eseguire i calcoli e fornire il valore di ritorno come argomenti ad altre funzioni. Il metodo di ordinamento in Python prende un argomento "chiave" in cui è possibile specificare una funzione richiamabile che prende un singolo argomento a scopo di ordinamento. Invece di definire prima una funzione separata che restituisce una chiave e quindi fornisce il riferimento della funzione all'argomento, è possibile utilizzare semplicemente una funzione Lambda.

frutti = [(2, "mele"), (4, "arance"), (3, "banane")]
frutta.Ordine (key = Lambda Element: Element [0])
Stampa (frutta)

Il codice sopra produrrà il seguente output:

[(2, "mele"), (3, "banane"), (4, "arance")]

È possibile utilizzare lambda in qualsiasi metodo tale che prende una funzione richiamabile come argomento (metodo filtro ad esempio).

Usa le funzioni Lambda nelle comprensioni degli elenchi

È possibile utilizzare lambda nelle comprensioni dell'elenco e un elenco verrà debitamente creato dai valori restituiti dall'espressione Lambda.

get_square = lambda a: a * a
quadrati = [get_square (x) per x in intervallo (5)]
Stampa (quadrati)

Questo produrrà il seguente output:

[0, 1, 4, 9, 16]

Il campione di codice sopra può anche essere scritto nel modo seguente in cui "X" viene fornito alla funzione Lambda come argomento:

quadrati = [(lambda x: x * x) (x) per x nell'intervallo (5)]
Stampa (quadrati)

Questo esempio illustra solo l'uso delle funzioni Lambda nelle comprensioni degli elenchi. Altrimenti è possibile calcolare facilmente i quadrati utilizzando un'istruzione di comprensione dell'elenco minimo:

stampa ([x * x per x in gamma (5)])

Usa le funzioni Lambda nei dizionari di Python

Il campione di codice seguente illustra le funzioni Lambda utilizzate all'interno delle coppie di valore chiave in un dizionario Python. Una volta definito, puoi chiamare queste funzioni in qualsiasi momento.

Calcola = 'Sum': Lambda A, B: A + B, 'Difference': Lambda A, B: A - B
Stampa (Calcola ['Sum'] (4, 5))
Stampa (Calcola ['differenza'] (4, 5))

Dovresti ottenere il seguente output dopo l'esecuzione del codice sopra:

9
-1

Conclusione

Le funzioni di lambda forniscono un modo eccellente per scrivere espressioni stentuali e mantenere le cose pulite e organizzate senza inutili creare molte funzioni nominate. Tuttavia, l'uso eccessivo di funzioni di lambda può rendere il codice difficile da leggere soprattutto quando il codice viene esaminato da più di una persona. È meglio avere un codice più leggibile (anche se è verboso) che avere qualcosa che potrebbe essere un po 'difficile da capire sulle rivisite.