Come aggiungere e aggiornare le chiavi in un dizionario Python
Scopri come aggiungere elementi o aggiornare coppie chiave-valore in un dizionario Python. Esplora le parentesi quadre, il metodo di aggiornamento e le opzioni degli operatori di unione.
Panoramica
L'aggiunta e l'aggiornamento di elementi in un dizionario è un concetto fondamentale nella gestione dello stato, nell'elaborazione dei dati e negli aggiornamenti della configurazione. Poiché i dizionari Python sono raccolte modificabili, puoi facilmente modificare le loro chiavi e i loro valori in modo dinamico durante l'esecuzione del programma senza dover ricreare l'intera struttura.
Il modo più semplice per aggiungere una coppia chiave-valore è utilizzare la sintassi di assegnazione delle parentesi quadre: "my_dict[key] = value". Se la chiave non esiste, Python la aggiunge al dizionario. Se la chiave esiste già, Python sovrascrive il suo vecchio valore con quello nuovo.
Per aggiornamenti di massa o operazioni di fusione, Python fornisce il metodo `.update()`, che accetta un altro dizionario o un iterabile di coppie chiave-valore. Inoltre, inPython 3.9+, puoi utilizzare l'operatore di unione `|` per unire due dizionari in uno nuovo o l'operatore di aggiornamento `|=` per aggiornare un dizionario sul posto.
Codice e output di esecuzione
Questo script dimostra l'aggiunta, gli aggiornamenti e l'unione di dizionari in Python.
profile = {"username": "sara", "level": 5}
# 1. Add new key-value pair using brackets
profile["verified"] = True
print("After adding key:", profile)
# 2. Update existing key using brackets
profile["level"] = 6
print("After updating key:", profile)
# 3. Add/Update multiple keys using update()
profile.update({"avatar": "cat.png", "level": 7})
print("After update():", profile)
# 4. Using the merge operator (Python 3.9+)
extra_info = {"location": "US"}
merged_profile = profile | extra_info
print("Merged profile:", merged_profile)After adding key: {'username': 'sara', 'level': 5, 'verified': True}
After updating key: {'username': 'sara', 'level': 6, 'verified': True}
After update(): {'username': 'sara', 'level': 7, 'verified': True, 'avatar': 'cat.png'}
Merged profile: {'username': 'sara', 'level': 7, 'verified': True, 'avatar': 'cat.png', 'location': 'US'}Implementazione passo dopo passo
- Utilizzare la notazione tra parentesi my_dict['new_key'] = valore per inserire un singolo nuovo elemento.
- Chiama my_dict.update(new_dict) per unire più chiavi e valori sul posto.
- Utilizzare | operatore union inPython 3.9+ per combinare dizionari senza alterare gli originali.
Domande frequenti
Cosa succede se aggiungo una chiave già esistente?
Il vecchio valore associato a quella chiave viene sovrascritto silenziosamente dal nuovo valore.
Posso aggiungere una chiave con un valore di elenco predefinito se non esiste?
Sì! Puoi utilizzare my_dict.setdefault(key, []) o utilizzare defaultdict dal modulo Collections per automatizzare l'inizializzazione del valore predefinito.
Argomenti correlati
Scopri come creare un dizionario in Python. Comprendere la sintassi letterale, il costruttore dict, la comprensione dei dict e gli inizializzatori di valori-chiave.
Come scorrere un dizionario in PythonScopri come eseguire il looping o l'iterazione di un dizionario Python. Scopri metodi per eseguire il loop su chiavi, valori e coppie chiave-valore con esempi puliti ed eseguibili.
Risorse Python consigliate
Espandi le tue conoscenze con tutorial interattivi, foglietti illustrativi e confronti di codici correlati.
Generatori Python
Scopri come utilizzare i generatori Python e le istruzioni yield per elaborare enormi set di dati con un ingombro di memoria minimo. Espressioni del generatore principale.
Foglio informativo sui metodi del dizionario Python
Impara i metodi del dizionario Python. Guida di riferimento completa per inserimenti, recuperi, aggiornamenti e controlli di coppie chiave-valore.
Decoratori Python e modello di progettazione del decoratore: le differenze chiave
Confronta i decoratori Python e il modello di progettazione del decoratore classico. Comprendere le differenze tra il wrapper di funzioni in fase di definizione e la composizione di oggetti dinamici di runtime con codice eseguibile.