Pitone

Come utilizzare le funzioni Lambda in Python

Come utilizzare le funzioni Lambda in Python
Questo articolo spiegherà come utilizzare le funzioni Lambda in Python. Le funzioni lambda possono essere utilizzate per scrivere battute concise, implementare la logica e ottenere rapidamente valori di ritorno che possono essere inviati ad altre espressioni.

Informazioni sulle funzioni Lambda

Le funzioni lambda in python sono funzioni senza nome e anonime che possono essere utilizzate per creare espressioni che restituiscono un qualche tipo 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 riga. A volte possono essere difficili da leggere, soprattutto se le persone non sono esperte con le funzioni Lambda. Tuttavia hanno il vantaggio di tenere insieme le cose all'interno di blocchi di codice e aiutano a comprendere meglio il contesto.

Sintassi delle funzioni Lambda

La sintassi di una funzione Lambda in Python è simile a questa:

moltiplicare = lambda x, y: x * y

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

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

stampa (moltiplica (3, 4))

Dovresti ottenere il seguente output:

12

La stessa funzione lambda verrebbe altrimenti scritta nel modo seguente:

def moltiplicare (x, y):
restituire x * y
stampa (moltiplica (3, 4))

Entrambi gli esempi di codice daranno lo stesso output. Alcuni altri esempi di funzioni Lambda sono spiegati di seguito.

Passa le funzioni Lambda come argomenti

Puoi utilizzare le funzioni Lambda per eseguire calcoli e fornire il valore restituito come argomenti ad altre funzioni. Il metodo di ordinamento in Python accetta un argomento "chiave" in cui è possibile specificare una funzione chiamabile che accetta un singolo argomento per scopi di ordinamento. Invece di definire prima una funzione separata che restituisce una chiave e poi fornire il riferimento della funzione all'argomento, puoi semplicemente utilizzare una funzione Lambda.

frutti = [(2, 'mele'), (4, 'arance'), (3, 'banane')]
frutta.sort(chiave=elemento lambda: elemento[0])
stampa (frutta)

Il codice sopra produrrà il seguente output:

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

È possibile utilizzare lambda in qualsiasi metodo di questo tipo che accetta una funzione richiamabile come argomento (ad esempio, metodo di filtro).

Utilizzare le funzioni Lambda nella comprensione degli elenchi List

Puoi utilizzare Lambda nelle comprensioni degli elenchi e un elenco verrà debitamente creato dai valori restituiti dall'espressione Lambda.

get_square = lambda a: a * a
quadrati = [get_square(x) for x in range(5)]
stampa (quadrati)

Questo produrrà il seguente output:

[0, 1, 4, 9, 16]

L'esempio di codice sopra può anche essere scritto nel modo seguente dove "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 nella comprensione degli elenchi. In caso contrario, puoi facilmente calcolare i quadrati utilizzando una dichiarazione di comprensione dell'elenco minima:

print ([x * x per x nell'intervallo (5)])

Usa le funzioni Lambda nei dizionari Python

L'esempio di codice seguente illustra le funzioni Lambda utilizzate all'interno di coppie chiave-valore in un dizionario Python. Una volta definite, puoi chiamare queste funzioni in qualsiasi momento.

calcola = 'somma': lambda a, b: a + b, 'differenza': lambda a, b: a - b
print (calculate['sum'](4, 5))
print (calcola['differenza'](4, 5))

Dovresti ottenere il seguente output dopo aver eseguito il codice sopra:

9
-1

Conclusione

Le funzioni lambda forniscono un modo eccellente per scrivere espressioni stenografiche e mantenere le cose pulite e organizzate senza creare inutili molte funzioni con nome. Tuttavia, l'uso eccessivo delle funzioni Lambda può rendere il codice difficile da leggere, specialmente quando il codice viene osservato da più di una persona. È meglio avere un codice più leggibile (anche se è prolisso) che avere qualcosa che potrebbe essere un po' difficile da capire nelle rivisitazioni.

I migliori giochi da riga di comando per Linux
La riga di comando non è solo il tuo più grande alleato quando usi Linux, ma può anche essere una fonte di intrattenimento perché puoi usarla per gioc...
Le migliori app di mappatura del gamepad per Linux
Se ti piace giocare su Linux con un gamepad invece di un tipico sistema di input di tastiera e mouse, ci sono alcune app utili per te. Molti giochi pe...
Strumenti utili per i giocatori Linux
Se ti piace giocare su Linux, è probabile che tu abbia utilizzato app e utilità come Wine, Lutris e OBS Studio per migliorare l'esperienza di gioco. O...