Funzioni Lambda
Scorri per mostrare il menu
Le funzioni lambda sono una caratteristica fondamentale di Python che permette di creare funzioni piccole e anonime utilizzando una sintassi concisa. Lo scopo principale di una funzione lambda è definire una funzione in una sola riga, tipicamente per casi d'uso brevi e isolati in cui una definizione completa tramite def sarebbe inutilmente prolissa.
Le funzioni lambda sono utilizzate più frequentemente in combinazione con funzioni di ordine superiore come map, filter e sorted, quando è necessario passare una funzione come argomento ma non si desidera definire una funzione completa altrove nel codice.
Una funzione lambda può accettare un numero qualsiasi di argomenti ma deve contenere solo una singola espressione. Il risultato di questa espressione viene restituito automaticamente. Sebbene le funzioni lambda siano utili per creare funzioni rapide e temporanee, presentano delle limitazioni: non possono contenere più istruzioni, assegnazioni o logica complessa, e risultano meno leggibili se usate eccessivamente. A causa di questi vincoli, è consigliabile utilizzare le funzioni lambda per compiti semplici e preferire le funzioni regolari per operazioni più complesse.
123numbers = [1, 2, 3, 4, 5] squared = list(map(lambda x: x ** 2, numbers)) print(squared)
Il codice sopra utilizza una funzione lambda con la funzione di ordine superiore map per elevare al quadrato ogni numero nella lista numbers. La lambda x: x ** 2 definisce una funzione anonima che prende un singolo argomento x e restituisce il suo quadrato. Questo approccio consente di applicare rapidamente un'operazione semplice a ogni elemento di una lista senza definire una funzione nominata separata, rendendo il codice più conciso e focalizzato quando la funzione serve solo una volta.
123numbers = [1, 2, 3, 4, 5, 6] evens = list(filter(lambda x: x % 2 == 0, numbers)) print(evens)
Questo esempio utilizza una funzione lambda con filter per estrarre solo i numeri pari dalla lista numbers. L'uso di una funzione lambda rende la logica di filtraggio concisa e leggibile, soprattutto quando è necessario eseguire un semplice controllo senza creare una funzione nominata separata.
1. Qual è la principale differenza tra una funzione lambda e una funzione regolare?
2. Quando dovresti usare una funzione lambda invece di def?
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione