Dizionari e Set
Dizionari e Set
Section titled “Dizionari e Set”Basato su: Manuale Python per principianti (freeCodeCamp)
🎯 Obiettivi del Modulo
Section titled “🎯 Obiettivi del Modulo”- ✅ Creare e manipolare dizionari (chiave-valore)
- ✅ Usare set e operazioni su insiemi
- ✅ Scegliere la struttura dati giusta
📅 Lezione 1 — Dizionari in Python
Section titled “📅 Lezione 1 — Dizionari in Python”Obiettivi specifici
Section titled “Obiettivi specifici”- Creare dizionari e accedere ai valori
- Usare i metodi principali dei dizionari
- Iterare su chiavi, valori e coppie
Contenuti (dal manuale, sezione “Dizionari in Python”)
Section titled “Contenuti (dal manuale, sezione “Dizionari in Python”)”- Creazione:
{"nome": "Mario", "eta": 25},dict() - Accesso:
d["chiave"],d.get("chiave", default) - Aggiungere/modificare:
d["nuova"] = "valore" - Eliminare:
del d["chiave"],.pop("chiave") - Metodi:
.keys()— tutte le chiavi.values()— tutti i valori.items()— coppie (chiave, valore).update()— unire due dizionari
- Iterare su dizionari
Attività (esercizi)
Section titled “Attività (esercizi)”# Creazionestudente = { "nome": "Alice", "eta": 22, "corso": "Informatica", "voti": [28, 30, 25]}
# Accessoprint(studente["nome"])print(studente.get("indirizzo", "Non presente"))
# Iterazionefor chiave, valore in studente.items(): print(f"{chiave}: {valore}")
# .get() sicuroprint(studente.get("telefono", "Non disponibile"))Riferimenti
Section titled “Riferimenti”- Manuale → sezione Dizionari in Python
📅 Lezione 2 — Set in Python
Section titled “📅 Lezione 2 — Set in Python”Obiettivi specifici
Section titled “Obiettivi specifici”- Creare set e operare con insiemi
- Usare unioni, intersezioni, differenze
Contenuti (dal manuale, sezione “Set in Python”)
Section titled “Contenuti (dal manuale, sezione “Set in Python”)”- Creazione:
{1, 2, 3},set([1, 2, 3]) - Set = insieme: elementi unici, non ordinati
- Aggiungere/rimuovere:
.add(),.remove(),.discard() - Operazioni tra insiemi:
- Unione:
a | boa.union(b) - Intersezione:
a & boa.intersection(b) - Differenza:
a - boa.difference(b) - Differenza simmetrica:
a ^ b
- Unione:
- Verifiche:
in,issubset(),issuperset()
Attività (esercizi)
Section titled “Attività (esercizi)”# Set da lista (rimuove duplicati automaticamente)numeri = [1, 2, 2, 3, 3, 3, 4]unici = set(numeri)print(unici) # {1, 2, 3, 4}
# Operazioni tra insiemia = {1, 2, 3, 4}b = {3, 4, 5, 6}
print(a | b) # Unione: {1, 2, 3, 4, 5, 6}print(a & b) # Intersezione: {3, 4}print(a - b) # Differenza: {1, 2}print(a ^ b) # Diff. simmetrica: {1, 2, 5, 6}
# Verificaprint(2 in a) # TrueRiferimenti
Section titled “Riferimenti”- Manuale → sezione Set in Python
📅 Lezione 3 — Scegliere la struttura giusta
Section titled “📅 Lezione 3 — Scegliere la struttura giusta”Confronto tra liste, tuple, set, dizionari
Section titled “Confronto tra liste, tuple, set, dizionari”| Caratteristica | Lista | Tupla | Set | Dizionario |
|---|---|---|---|---|
| Mutabile? | ✅ | ❌ | ✅ | ✅ |
| Ordinato? | ✅ | ✅ | ❌ | ✅ (3.7+) |
| Elementi unici? | ❌ | ❌ | ✅ | Chiavi uniche |
| Accesso per | Indice | Indice | — | Chiave |
| Sintassi | [ ] | ( ) | { } | {k:v} |
Quando usare cosa
Section titled “Quando usare cosa”- Lista: sequenza ordinata, elementi ripetibili
- Tupla: dati immutabili, coordinate, hashable
- Set: rimuovere duplicati, operazioni insiemistiche
- Dizionario: associazioni chiave-valore, lookup veloci
🏠 Esercizi per Casa
Section titled “🏠 Esercizi per Casa”"""ESERCIZIO 1: Rubrica telefonicaCrea un dizionario rubrica con 3 contatti(nome → numero di telefono).Aggiungi un contatto, rimuovine uno,stampa tutti i contatti."""
"""ESERCIZIO 2: DuplicatiData una lista [1, 2, 2, 3, 4, 4, 4, 5],usa un set per trovare:- Elementi unici- Elementi duplicati"""
"""ESERCIZIO 3: StudentiCrea:- lista_studenti = ["Anna", "Marco", "Anna", "Luca", "Marco"]- set_studenti = set(lista_studenti)- Un dizionario con nome → numero di presenze"""📊 Verifica Apprendimento
Section titled “📊 Verifica Apprendimento”| Domanda | Risposta |
|---|---|
| Come si accede a un valore in un dict? | d["chiave"] o d.get("chiave") |
| Come si iterano chiave+valore? | for k, v in d.items(): |
| Differenza tra set e lista? | Set: elementi unici, non ordinato |
| Unione di due set? | a | b o a.union(b) |
| Intersezione di due set? | a & b o a.intersection(b) |
| Come si rimuovono duplicati da una lista? | list(set(lista)) |