Come Aggiungere un Elemento a un Dizionario in Python

Introduzione

Il dizionario è un tipo di dato incorporato in Python. Un dizionario è una sequenza di coppie chiave-valore. I dizionari sono oggetti mutabili, tuttavia le chiavi del dizionario sono immutabili e devono essere uniche all’interno di ciascun dizionario. Non esiste un metodo di aggiunta incorporato, ma ci sono diversi modi per aggiungere e aggiornare un dizionario. In questo articolo, userai l’operatore di assegnazione Python, il metodo update(), e gli operatori di unione e aggiornamento del dizionario per aggiungere e aggiornare i dizionari Python.

Effettua il deploy delle tue applicazioni Python da GitHub utilizzando la Piattaforma App di DigitalOcean. Lascia che DigitalOcean si occupi dello scaling della tua app.

Quattro Metodi per Aggiungere al Dizionario Python

  1. Utilizzando l’Operatore di Assegnazione
  2. Utilizzando il Metodo Update
  3. Utilizzo dell’Operatore di Unione
  4. Utilizzo dell’Operatore di Aggiornamento

Aggiungere al Dizionario Python Utilizzando l’Operatore di Assegnazione =

Puoi utilizzare l’operatore di assegnazione = per aggiungere una nuova chiave a un dizionario:

dict[key] = value

Se una chiave esiste già nel dizionario, l’operatore di assegnazione aggiorna o sovrascrive il valore.

L’esempio seguente mostra come creare un nuovo dizionario e quindi utilizzare l’operatore di assegnazione = per aggiornare un valore e aggiungere coppie chiave-valore:

dict_example = {'a': 1, 'b': 2}

print("original dictionary: ", dict_example)

dict_example['a'] = 100  # chiave esistente, sovrascrittura
dict_example['c'] = 3  # nuova chiave, aggiunta
dict_example['d'] = 4  # nuova chiave, aggiunta

print("updated dictionary: ", dict_example)

L’output è:

Output
original dictionary: {'a': 1, 'b': 2} updated dictionary: {'a': 100, 'b': 2, 'c': 3, 'd': 4}

L’output mostra che il valore di a è sovrascritto dal nuovo valore, il valore di b rimane invariato e nuove coppie chiave-valore sono aggiunte per c e d.

Aggiungi al dizionario Python senza sovrascrivere i valori

Utilizzando l’operatore di assegnazione =, si sovraintende ai valori delle chiavi esistenti con i nuovi valori. Se sai che il tuo programma potrebbe avere chiavi duplicate, ma non vuoi sovrascrivere i valori originali, puoi aggiungere condizionalmente i valori usando un’istruzione if.

Continuando con l’esempio della sezione precedente, puoi utilizzare le istruzioni if per aggiungere solo nuove coppie chiave-valore al dizionario:

dict_example = {'a': 1, 'b': 2}

print("original dictionary: ", dict_example)

dict_example['a'] = 100  # chiave esistente, sovrascrivi
dict_example['c'] = 3  # nuova chiave, aggiungi
dict_example['d'] = 4  # nuova chiave, aggiungi 

print("updated dictionary: ", dict_example)

# aggiungi le seguenti istruzioni if

if 'c' not in dict_example.keys():
    dict_example['c'] = 300

if 'e' not in dict_example.keys():
    dict_example['e'] = 5

print("conditionally updated dictionary: ", dict_example)

L’output è:

Output
original dictionary: {'a': 1, 'b': 2} updated dictionary: {'a': 100, 'b': 2, 'c': 3, 'd': 4} conditionally updated dictionary: {'a': 100, 'b': 2, 'c': 3, 'd': 4, 'e': 5}

L’output mostra che, a causa della condizione if, il valore di c non è cambiato quando il dizionario è stato aggiornato condizionalmente.

Aggiungi al dizionario Python utilizzando il metodo update()

È possibile aggiungere un dizionario o un iterabile di coppie chiave-valore a un dizionario utilizzando il metodo update(). Il metodo update() sovrascrive i valori delle chiavi esistenti con i nuovi valori.

L’esempio seguente mostra come creare un nuovo dizionario, utilizzare il metodo update() per aggiungere una nuova coppia chiave-valore e un nuovo dizionario, e stampare ciascun risultato:

site = {'Website':'DigitalOcean', 'Tutorial':'How To Add to a Python Dictionary'}
print("original dictionary: ", site)

# aggiorna il dizionario con la coppia chiave-valore dell'autore
site.update({'Author':'Sammy Shark'})
print("updated with Author: ", site)

# crea un nuovo dizionario
guests = {'Guest1':'Dino Sammy', 'Guest2':'Xray Sammy'}

# aggiorna il dizionario originale con il nuovo dizionario
site.update(guests)
print("updated with new dictionary: ", site)

L’output è:

Output
original dictionary: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary'} updated with Author: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy Shark'} updated with new dictionary: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy Shark', 'Guest1': 'Dino Sammy', 'Guest2': 'Xray Sammy'}

L’output mostra che il primo aggiornamento aggiunge una nuova coppia chiave-valore e il secondo aggiornamento aggiunge le coppie chiave-valore dal dizionario ospite al dizionario sito. Nota che se il tuo aggiornamento a un dizionario include una chiave esistente, allora il vecchio valore viene sovrascritto dall’aggiornamento.

Aggiungi al Dizionario Python Usando l’Operatore di Unione |

Puoi utilizzare l’operatore di unione del dizionario |, rappresentato dal carattere pipe, per unire due dizionari e restituire un nuovo oggetto dizionario.

Il seguente esempio mostra come creare due dizionari e utilizzare l’operatore di unione per creare un nuovo dizionario che contiene le coppie chiave-valore da entrambi:

site = {'Website':'DigitalOcean', 'Tutorial':'How To Add to a Python Dictionary', 'Author':'Sammy'}

guests = {'Guest1':'Dino Sammy', 'Guest2':'Xray Sammy'}

new_site = site | guests

print("site: ", site)
print("guests: ", guests)
print("new_site: ", new_site)

L’output è:

Output
site: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy'} guests: {'Guest1': 'Dino Sammy', 'Guest2': 'Xray Sammy'} new_site: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy', 'Guest1': 'Dino Sammy', 'Guest2': 'Xray Sammy'}

I due dizionari sono stati uniti in un nuovo oggetto dizionario che contiene le coppie chiave-valore da entrambi i dizionari.

Se una chiave esiste in entrambi i dizionari, allora il valore dal secondo dizionario, o operando destro, è quello preso. Nell’esempio di codice seguente, entrambi i dizionari hanno una chiave chiamata b:

dict1 = {'a':'one', 'b':'two'}
dict2 = {'b':'letter two', 'c':'letter three'}

dict3 = dict1 | dict2

print{"dict3: ", dict3}

L’output è:

Output
dict3: {'a': 'one', 'b': 'letter two', 'c': 'letter three'}

Il valore della chiave b è stato sovrascritto dal valore dell’operando destro, dict2.

Aggiungi al Dizionario Python Utilizzando l’Operatore di Aggiornamento |=

Puoi utilizzare l’operatore di aggiornamento del dizionario |=, rappresentato dai caratteri di barra verticale e uguale, per aggiornare un dizionario in modo inplace con il dizionario o i valori dati.

Come l’operatore di unione |, se una chiave esiste in entrambi i dizionari, allora l’operatore di aggiornamento |= prende il valore dall’operando destro.

L’esempio seguente mostra come creare due dizionari, utilizzare l’operatore di aggiornamento per aggiungere il secondo dizionario al primo dizionario e quindi stampare il dizionario aggiornato:

site = {'Website':'DigitalOcean', 'Tutorial':'How To Add to a Python Dictionary', 'Author':'Sammy'}

guests = {'Guest1':'Dino Sammy', 'Guest2':'Xray Sammy'}

site |= guests

print("site: ", site)

L’output è:

Output
site: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy', 'Guest1': 'Dino Sammy', 'Guest2': 'Xray Sammy'}

Nell’esempio precedente, non era necessario creare un terzo oggetto dizionario, poiché l’operatore di aggiornamento modifica l’oggetto originale. L’output mostra che il dizionario guests è stato aggiunto al dizionario site originale.

Conclusione

In questo articolo, hai utilizzato diversi metodi per aggiungere e aggiornare un dizionario Python. Continua il tuo apprendimento con altri tutorial su Python.

Source:
https://www.digitalocean.com/community/tutorials/python-add-to-dictionary