Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Funzioni Lambda | Funzioni di Ordine Superiore e Lambda
Concetti di Programmazione Funzionale in Python

bookFunzioni 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.

123
numbers = [1, 2, 3, 4, 5] squared = list(map(lambda x: x ** 2, numbers)) print(squared)
copy

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.

123
numbers = [1, 2, 3, 4, 5, 6] evens = list(filter(lambda x: x % 2 == 0, numbers)) print(evens)
copy

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?

question mark

Qual è la principale differenza tra una funzione lambda e una funzione regolare?

Seleziona la risposta corretta

question mark

Quando dovresti usare una funzione lambda invece di def?

Seleziona la risposta corretta

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 5

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Sezione 2. Capitolo 5
some-alt