Come creare un dizionario in Python (letterali e costruttori)

Scopri come creare un dizionario in Python. Comprendere la sintassi letterale, il costruttore dict, la comprensione dei dict e gli inizializzatori di valori-chiave.

Prova questa soluzione nell'editor

Panoramica

I dizionari sono uno dei tipi di dati integrati più potenti e ampiamente utilizzati in Python. Un dizionario è una raccolta mutabile e ordinata (a partire daPython 3.7) di coppie chiave-valore, in cui ciascuna chiave deve essere univoca e modificabile (ad esempio stringhe, numeri o tuple). I dizionari consentono di eseguire operazioni di ricerca con una complessità temporale nel caso medio O(1) altamente ottimizzata.

Il modo più comune e diretto per creare un dizionario è utilizzare le parentesi graffe "{}" con coppie chiave-valore separate da due punti. Ad esempio, `my_dict = {"name": "Alice", "age": 30}` crea un dizionario popolato. Per creare un dizionario vuoto, puoi utilizzare le parentesi graffe vuote `{}` o il costruttore `dict()`.

Python offre anche altri metodi avanzati per creare dizionari in modo dinamico. Il costruttore `dict()` può costruire dizionari da elenchi di tuple di valori-chiave o argomenti di parole chiave. Inoltre, le comprensioni del dizionario forniscono un modo potente per inizializzare un dizionario da un iterabile esistente, applicando trasformazioni a chiavi o valori in linea.

Codice e output di esecuzione

Questo script dimostra diversi modi per inizializzare e creare dizionari in Python.

create_dict.py
Prova nell'editor
# 1. Dictionary literal syntax (most common)
user = {"name": "Alice", "age": 28, "verified": True}
print("Literal dict:", user)

# 2. Using the dict() constructor with keyword arguments
config = dict(host="localhost", port=8080, debug=True)
print("Constructor dict:", config)

# 3. Creating dictionary from key-value pairs (tuples)
pairs = [("id", 101), ("status", "active")]
status_dict = dict(pairs)
print("From tuples:", status_dict)

# 4. Dictionary comprehension (dynamic creation)
squares = {x: x**2 for x in range(1, 5)}
print("Comprehension:", squares)
Uscita terminale
Literal dict: {'name': 'Alice', 'age': 28, 'verified': True}
Constructor dict: {'host': 'localhost', 'port': 8080, 'debug': True}
From tuples: {'id': 101, 'status': 'active'}
Comprehension: {1: 1, 2: 4, 3: 9, 4: 16}

Implementazione passo dopo passo

  • Utilizza le parentesi graffe {} con le coppie chiave:valore per creare un dizionario letterale.
  • Chiama dict() per creare un dizionario vuoto o costruirne uno utilizzando argomenti chiave.
  • Passa un elenco di tuple di valori-chiave a dict() per trasformare gli array relazionali in un oggetto dizionario.

Domande frequenti

È possibile utilizzare gli elementi di un elenco o di un dizionario come chiavi del dizionario?

No, le chiavi del dizionario devono essere hashable (immutabili). Poiché elenchi e dizionari sono mutabili, non possono essere chiavi. Tuple, stringhe e numeri interi sono chiavi valide.

Come posso creare un dizionario con valori predefiniti per un set di chiavi?

Puoi utilizzare dict.fromkeys(keys_list, default_value) per costruire un dizionario in cui tutte le chiavi condividono lo stesso valore predefinito.

Argomenti correlati

Risorse Python consigliate

Espandi le tue conoscenze con tutorial interattivi, foglietti illustrativi e confronti di codici correlati.