Skip to content

Liste e Tuple

Basato su: Manuale Python per principianti (freeCodeCamp)


  • ✅ Creare e manipolare liste (aggiungere, rimuovere, ordinare)
  • ✅ Usare tuple immutabili e unpacking
  • ✅ Scrivere comprensioni di lista

  • Creare liste e accedere agli elementi
  • Usare i metodi principali delle liste
  • Usare lo slicing sulle liste

Contenuti (dal manuale, sezione “Liste in Python”)

Section titled “Contenuti (dal manuale, sezione “Liste in Python”)”
  1. Creazione: [1, 2, 3], list()
  2. Liste eterogenee: [1, "ciao", 3.14]
  3. Indicizzazione: l[0], l[-1] (ultimo elemento)
  4. Slicing: l[1:3], l[:2], l[::2]
  5. Metodi principali:
    • .append(x) — aggiunge in fondo
    • .insert(i, x) — inserisce in posizione
    • .remove(x) — rimuove il primo elemento x
    • .pop(i) — rimuove e restituisce l’elemento in posizione i
    • .sort() — ordina
    • .reverse() — inverte
    • .index(x) — posizione di x
    • .count(x) — quante volte compare x
  6. len(l) — lunghezza
  7. Liste annidate: matrice = [[1,2], [3,4]]
numeri = [5, 2, 8, 1, 9]
numeri.append(3)
print(numeri)
numeri.sort()
print(numeri)
numeri.pop()
print(numeri)
# Slicing
print(numeri[1:4])
print(numeri[::-1]) # Lista al contrario
# Liste annidate
matrice = [[1, 2], [3, 4], [5, 6]]
print(matrice[0][1]) # 2
  • Manuale → sezione Liste in Python

  • Capire la differenza tra liste e tuple
  • Usare l’unpacking delle tuple

Contenuti (dal manuale, sezione “Tuple in Python”)

Section titled “Contenuti (dal manuale, sezione “Tuple in Python”)”
  1. Creazione: (1, 2, 3) o 1, 2, 3
  2. Immutabilità: non si possono modificare dopo la creazione
  3. Perché usare le tuple? Più leggere, hashable, proteggono i dati
  4. Unpacking: a, b, c = (1, 2, 3)
  5. Scambio di variabili: a, b = b, a
# Creazione
coordinate = (10, 20)
print(coordinate[0])
# Tentativo di modifica (ERRORE!)
# coordinate[0] = 5 # TypeError
# Unpacking
x, y = coordinate
print(f"x={x}, y={y}")
# Scambio variabili
a = 5
b = 10
a, b = b, a
print(a, b) # 10 5
  • Manuale → sezione Tuple in Python

  • Scrivere comprensioni di lista semplici
  • Aggiungere condizioni alle comprensioni

Contenuti (dal manuale, sezione “Comprensioni di lista in Python”)

Section titled “Contenuti (dal manuale, sezione “Comprensioni di lista in Python”)”
  1. Sintassi base: [espressione for elemento in iterabile]
  2. Con condizione: [espressione for elemento in iterabile if condizione]
  3. Equivalente a: for + append
  4. Esempi: quadrati, filtri, trasformazioni
# Base: quadrati dei numeri
quadrati = [x**2 for x in range(10)]
print(quadrati)
# Con filtro: solo numeri pari
pari = [x for x in range(20) if x % 2 == 0]
print(pari)
# Trasformazione stringhe
parole = ["ciao", "mondo", "python"]
maiuscole = [p.upper() for p in parole]
print(maiuscole)
# Equivalente senza comprensione
maiuscole2 = []
for p in parole:
maiuscole2.append(p.upper())
  • Manuale → sezione Comprensioni di lista in Python

"""
ESERCIZIO 1: Lista della spesa
Crea una lista della spesa vuota.
Aggiungi 5 elementi.
Rimuovi il terzo elemento.
Stampa la lista ordinata.
"""
"""
ESERCIZIO 2: Unpacking
Data una tupla (nome, cognome, eta, citta),
fai unpacking e stampa ogni valore.
Poi scambia due variabili.
"""
"""
ESERCIZIO 3: Comprensioni
Usa una comprensione di lista per:
1. Numeri da 1 a 30 divisibili per 3
2. Lunghezza di ogni parola in ["python", "java", "javascript", "c++"]
3. F-strings: ["numero: 0", "numero: 1", ...] fino a 10
"""

DomandaRisposta
Differenza tra lista e tupla?Lista mutabile, tupla immutabile
Come si aggiunge un elemento a una lista?.append(x)
Come si ordina una lista?.sort()
Come si inverte una lista?[::-1] o .reverse()
Sintassi comprensione di lista?[x for x in ... if cond]
Cosa fa a, b = b, a?Scambia i valori di a e b