Liste e Tuple
Collezioni: Liste, Tuple e Comprensioni
Section titled “Collezioni: Liste, Tuple e Comprensioni”Basato su: Manuale Python per principianti (freeCodeCamp)
🎯 Obiettivi del Modulo
Section titled “🎯 Obiettivi del Modulo”- ✅ Creare e manipolare liste (aggiungere, rimuovere, ordinare)
- ✅ Usare tuple immutabili e unpacking
- ✅ Scrivere comprensioni di lista
📅 Lezione 1 — Liste in Python
Section titled “📅 Lezione 1 — Liste in Python”Obiettivi specifici
Section titled “Obiettivi specifici”- 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”)”- Creazione:
[1, 2, 3],list() - Liste eterogenee:
[1, "ciao", 3.14] - Indicizzazione:
l[0],l[-1](ultimo elemento) - Slicing:
l[1:3],l[:2],l[::2] - 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
len(l)— lunghezza- Liste annidate:
matrice = [[1,2], [3,4]]
Attività (esercizi)
Section titled “Attività (esercizi)”numeri = [5, 2, 8, 1, 9]numeri.append(3)print(numeri)numeri.sort()print(numeri)numeri.pop()print(numeri)
# Slicingprint(numeri[1:4])print(numeri[::-1]) # Lista al contrario
# Liste annidatematrice = [[1, 2], [3, 4], [5, 6]]print(matrice[0][1]) # 2Riferimenti
Section titled “Riferimenti”- Manuale → sezione Liste in Python
📅 Lezione 2 — Tuple in Python
Section titled “📅 Lezione 2 — Tuple in Python”Obiettivi specifici
Section titled “Obiettivi specifici”- 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”)”- Creazione:
(1, 2, 3)o1, 2, 3 - Immutabilità: non si possono modificare dopo la creazione
- Perché usare le tuple? Più leggere, hashable, proteggono i dati
- Unpacking:
a, b, c = (1, 2, 3) - Scambio di variabili:
a, b = b, a
Attività (esercizi)
Section titled “Attività (esercizi)”# Creazionecoordinate = (10, 20)print(coordinate[0])
# Tentativo di modifica (ERRORE!)# coordinate[0] = 5 # TypeError
# Unpackingx, y = coordinateprint(f"x={x}, y={y}")
# Scambio variabilia = 5b = 10a, b = b, aprint(a, b) # 10 5Riferimenti
Section titled “Riferimenti”- Manuale → sezione Tuple in Python
📅 Lezione 3 — Comprensioni di lista
Section titled “📅 Lezione 3 — Comprensioni di lista”Obiettivi specifici
Section titled “Obiettivi specifici”- 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”)”- Sintassi base:
[espressione for elemento in iterabile] - Con condizione:
[espressione for elemento in iterabile if condizione] - Equivalente a: for + append
- Esempi: quadrati, filtri, trasformazioni
Attività (esercizi)
Section titled “Attività (esercizi)”# Base: quadrati dei numeriquadrati = [x**2 for x in range(10)]print(quadrati)
# Con filtro: solo numeri paripari = [x for x in range(20) if x % 2 == 0]print(pari)
# Trasformazione stringheparole = ["ciao", "mondo", "python"]maiuscole = [p.upper() for p in parole]print(maiuscole)
# Equivalente senza comprensionemaiuscole2 = []for p in parole: maiuscole2.append(p.upper())Riferimenti
Section titled “Riferimenti”- Manuale → sezione Comprensioni di lista in Python
🏠 Esercizi per Casa
Section titled “🏠 Esercizi per Casa”"""ESERCIZIO 1: Lista della spesaCrea una lista della spesa vuota.Aggiungi 5 elementi.Rimuovi il terzo elemento.Stampa la lista ordinata."""
"""ESERCIZIO 2: UnpackingData una tupla (nome, cognome, eta, citta),fai unpacking e stampa ogni valore.Poi scambia due variabili."""
"""ESERCIZIO 3: ComprensioniUsa una comprensione di lista per:1. Numeri da 1 a 30 divisibili per 32. Lunghezza di ogni parola in ["python", "java", "javascript", "c++"]3. F-strings: ["numero: 0", "numero: 1", ...] fino a 10"""📊 Verifica Apprendimento
Section titled “📊 Verifica Apprendimento”| Domanda | Risposta |
|---|---|
| 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 |