Dizionari Python: struttura e mappe hash
Dizionari principali di Python. Impara a archiviare, recuperare e gestire i dati delle coppie chiave-valore. Comprendere le prestazioni e le best practice per le mappature.
Panoramica
I dizionari sono probabilmente la struttura dati più importante e ottimizzata in Python. Un dizionario è una raccolta modificabile di valori di dati archiviati in coppie "chiave:valore". Se immagini un dizionario del mondo reale, la "chiave" è la parola che stai cercando e il "valore" è la definizione. Questa struttura di abbinamento rende incredibilmente efficiente il recupero, l'aggiornamento e la gestione dei dati relazionali.
Sotto il cofano, i dizionari Python sono implementati come tabelle Hash (o mappe Hash) altamente ottimizzate. Ciò implica che il recupero di un valore tramite la sua chiave è un'operazione a tempo costante "O(1)". Sia che il tuo dizionario contenga dieci elementi o dieci milioni di elementi, Python può saltare istantaneamente direttamente all'indirizzo di memoria del valore senza dover scansionare l'intera raccolta.
Per definire un dizionario, si utilizzano le parentesi graffe `{}` con chiavi e valori separati dai due punti `:`. Le chiavi devono essere di tipo immutabile (come stringhe, numeri interi o tuple), il che significa che non è possibile utilizzare un elenco come chiave di dizionario. I valori, tuttavia, possono essere assolutamente qualsiasi cosa, inclusi elenchi, oggetti o persino dizionari profondamente annidati, rendendoli perfetti per rappresentare strutture dati simili a JSON.
L'accesso ai valori avviene utilizzando la notazione tra parentesi (ad esempio, `utente["nome"]`). Tuttavia, se la chiave non esiste, questo approccio genera un `KeyError`, interrompendo immediatamente l'esecuzione del programma. Per scrivere codice più sicuro, i professionisti utilizzano il metodo `.get()` (ad esempio, `user.get("name")`), che restituisce "None" o un valore predefinito personalizzato se manca la chiave, evitando arresti anomali non necessari.
Storicamente, i dizionari Python erano completamente disordinati. Tuttavia, a partire dalPython 3.7, è ufficialmente garantito che i dizionari mantengano l'ordine di inserimento. Ciò significa che quando si esegue l'iterazione su un dizionario utilizzando metodi come `.keys()`, `.values()` o `.items()`, gli elementi verranno restituiti nell'esatta sequenza in cui sono stati originariamente aggiunti al dizionario, combinando la velocità delle mappe hash con la prevedibilità degli elenchi.
Codice e output di esecuzione
Creazione di un profilo di configurazione utente utilizzando in modo intensivo coppie chiave-valore nidificate.
user = {
"username": "coder123",
"role": "admin",
"active": True
}
user["last_login"] = "2026-04-10" # Adding a key
print(f"Username is {user['username']}")
# Iterating over key-value pairs
for key, value in user.items():
print(f"{key}: {value}")Username is coder123
username: coder123
role: admin
active: True
last_login: 2026-04-10Implementazione passo dopo passo
- Gestione delle risposte JSON dalle API REST
- Mappatura di ID univoci su oggetti dati di grandi dimensioni
- Memorizzazione dei parametri di configurazione dell'applicazione
Domande frequenti
Cosa succede se provo ad accedere ad una chiave che non esiste?
L'uso della notazione tra parentesi (utente["nome"]) genera un KeyError. Utilizzare invece user.get("name") per restituire None senza lanciare eccezioni.
Argomenti correlati
Scopri tutto sugli elenchi Python. Scopri come creare, suddividere, modificare ed eseguire l'iterazione degli array in Python in modo nativo.
Spiegazione delle variabili Python e dei tipi di datiComprendere le variabili Python e i tipi di dati principali (stringhe, numeri interi, float, booleani). Una guida completa per principianti all'assegnazione della memoria in Python.
Risorse Python consigliate
Espandi le tue conoscenze con tutorial interattivi, foglietti illustrativi e confronti di codici correlati.
Come ordinare un elenco in Python
Scopri come ordinare un elenco in Python utilizzando il metodo sort() e la funzione sorted(). Scopri l'ordinamento delle chiavi personalizzato e gli esempi di ordine inverso.
Foglio informativo sui metodi delle stringhe Python
Una guida di riferimento completa per la manipolazione delle stringhe Python. Padroneggia la formattazione, la ricerca, la divisione, la sostituzione e il controllo delle proprietà delle stringhe.
Python vs JavaScript: quale linguaggio di programmazione è il migliore?
Un confronto completo tra Python e JavaScript. Esplora le differenze di sintassi, le prestazioni, i casi d'uso (backend e frontend) ed esempi di codifica.