Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Funzioni Lambda | Ricorsione e Funzioni Lambda
Tutorial sulle Funzioni in Python
Sezione 5. Capitolo 4
single

single

bookFunzioni Lambda

Scorri per mostrare il menu

Le funzioni lambda sono funzioni anonime, cioè non hanno un nome. Vengono create utilizzando la parola chiave lambda e sono spesso utilizzate per definire funzioni brevi dove è possibile specificare una funzione al momento.

La sintassi di base di una funzione lambda è la seguente:

lambda arguments: expression
  • lambda: la parola chiave che indica l'inizio della definizione di una funzione lambda;
  • arguments: l'elenco degli argomenti che la funzione accetta;
  • expression: l'espressione eseguita quando la funzione viene chiamata. Il risultato dell'espressione viene restituito come valore della funzione.

La caratteristica principale delle funzioni lambda è la loro sintassi concisa. Sono utili quando è necessario definire una funzione semplice senza scrivere molto codice.

Argomenti singoli e multipli

Una funzione lambda può accettare uno o più argomenti:

1234567
# Single argument square = lambda x: x**2 print(square(5)) # 25 # Multiple arguments add = lambda x, y: x + y print(add(3, 5)) # 8
copy

Logica condizionale nelle funzioni lambda

È possibile utilizzare un'espressione ternaria per aggiungere logica condizionale all'interno di una lambda:

123
is_even = lambda x: "even" if x % 2 == 0 else "odd" print(is_even(4)) # "even" print(is_even(7)) # "odd"
copy

Utilizzo di lambda con funzioni integrate

Un caso d'uso comune è la combinazione delle funzioni lambda con funzioni integrate come map() e filter():

123456789
prices = [100, 200, 300] # Apply 10% discount to each price discounted = list(map(lambda price: price * 0.9, prices)) print(discounted) # [90.0, 180.0, 270.0] # Keep only prices above 150 expensive = list(filter(lambda price: price > 150, prices)) print(expensive) # [200, 300]
copy

È possibile utilizzare anche max() all'interno di una lambda per gestire i casi limite direttamente nell'espressione:

123
safe_value = lambda x: max(x, 0) # Returns 0 if x is negative print(safe_value(-5)) # 0 print(safe_value(10)) # 10
copy
lambda
Note
Nota

Le funzioni lambda sono più adatte per logiche brevi e composte da una sola espressione. Se la funzione richiede più righe o una logica complessa, è preferibile utilizzare una funzione def tradizionale.

Compito

Scorri per iniziare a programmare

È presente una lista di prezzi (prices), e deve essere implementata una espressione lambda che prenda un prezzo come parametro e detragga il 13% di tasse da esso.

  1. Definizione di una espressione lambda utilizzando la parola chiave lambda.
  2. L'espressione lambda deve accettare un solo parametro (price).
  3. Se il price è negativo, considerarlo non valido e restituire 0 utilizzando direttamente la funzione max() all'interno dell'espressione lambda.
  4. La lambda deve prima verificare il prezzo e poi detrarre il 13% dall'importo valido.
  5. Utilizzare una list comprehension per applicare apply_tax a ogni elemento di prices.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 5. Capitolo 4
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

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

some-alt