CodeStart.it
Corsi Python Comprensioni e filtri
Torre · Approfondisci · Capitolo 12 di 17

Comprensioni e filtri

PythonLettura + laboratorioCorso gratuito
Che cosa imparerai

Le list comprehension creano nuove liste a partire da sequenze esistenti con una sintassi compatta.

1. Il concetto, spiegato da zero

Le list comprehension creano nuove liste a partire da sequenze esistenti con una sintassi compatta.

La forma [espressione for elemento in sequenza if condizione] combina trasformazione e filtro. Usala per operazioni leggibili, non per nascondere algoritmi complessi.

2. Un esempio ragionato

Osserva l’esempio e leggi ogni istruzione nell’ordine. Prima di provarlo, fermati a prevedere cosa succederà; capire il motivo del risultato è più importante che memorizzare la sintassi.

Codice di esempio · Python
numeri = [1, 2, 3, 4, 5, 6]
pari = [n * n for n in numeri if n % 2 == 0]
print(pari)
Risultato previsto
[4, 16, 36]

Come leggere questo esempio

  1. Prima di eseguire, prova a prevedere il risultato dell’esempio.
  2. Spiega con parole tue in che modo “comprensioni e filtri” risolve un problema concreto.
  3. Rileggi ogni riga del programma e individua i valori che vengono creati o modificati.
  4. Modifica un valore; confronta il comportamento e annota che cosa è cambiato.
Errore frequente
Quando un’espressione diventa difficile da leggere, un ciclo for tradizionale è spesso più chiaro.

3. Adesso tocca a te

Obiettivo dell’esercizio: Crea i quadrati dei soli numeri pari di una lista.

Puoi partire dall’esempio, riprodurlo e poi modificarlo. La soluzione di riferimento è disponibile sotto, ma conviene aprirla soltanto dopo un primo tentativo.

Laboratorio: metti alla prova il codice

PYTHON · python

Il laboratorio Python utilizza Pyodide/WebAssembly scaricato al primo utilizzo; la prima apertura richiede Internet e può impiegare più tempo.

Output / esito del controllo

Il risultato comparirà qui.
Mostra la soluzione di riferimento
Codice di esempio · Python
numeri = [1, 2, 3, 4, 5, 6]
pari = [n * n for n in numeri if n % 2 == 0]
print(pari)

Confronta il tuo procedimento con quello dell’esempio. Una soluzione differente può essere altrettanto valida se produce risultati corretti.

4. Verifica e ripasso

Quiz: hai capito il concetto?

Quale delle seguenti affermazioni è corretta per questo capitolo?

Seleziona una risposta

Promemoria

La forma [espressione for elemento in sequenza if condizione] combina trasformazione e filtro. Usala per operazioni leggibili, non per nascondere algoritmi complessi.

5. Come proseguire

Prima del capitolo successivo, prova a spiegare il concetto a un amico senza leggere il codice. Se non riesci, torna all’esempio e fai una nuova variante: imparare significa anche sperimentare.

← Capitolo precedente