Svuota un dizionario in Python

Elsie Dela Pena 30 gennaio 2023
  1. Assegna {} per svuotare un dizionario in Python
  2. Usa la funzione clear() per rimuovere tutti gli elementi da un dizionario in Python
Svuota un dizionario in Python

Questo tutorial dimostrerà come svuotare un dizionario in Python.

Assegna {} per svuotare un dizionario in Python

Una semplice soluzione per svuotare un dizionario in Python è assegnare {} a un dizionario.

L’assegnazione di {} istanzia un nuovo oggetto e sostituisce il dizionario esistente. Ciò significa che un nuovo riferimento in memoria viene assegnato per un nuovo dizionario e lo spazio allocato in memoria per il vecchio dizionario che è stato sostituito viene contrassegnato per la garbage collection.

dct = {"name": "John", "age": 23}

dct = {}

print("Dictionary contains:", dct)

Produzione:

Dictionary contains : {}

Usa la funzione clear() per rimuovere tutti gli elementi da un dizionario in Python

Un altro approccio consiste nell’usare la funzione incorporata in Python, clear(), che rimuove tutti i contenuti esistenti nel dizionario. La funzione non ha parametri e non ha valore di ritorno. Il suo unico scopo è solo quello di cancellare il contenuto di un dizionario.

dict = {"name": "John", "age": 23}

dict.clear()

print("Dictionary contains :", dict)

Produzione:

Dictionary contains : {}

La differenza tra l’assegnazione della funzione {} e clear() è che quest’ultima non crea una nuova istanza ma rimuove tutto il contenuto del dizionario esistente così come i riferimenti del dizionario perché il contenuto è cancellato.

Confrontiamo questi due approcci nello stesso caso d’uso.

Utilizzando la funzione incorporata, clear():

dict1 = {"name": "John", "age": 23}
dict2 = dict1

dict1.clear()

print("After using clear()")
print("Dictionary 1 contains :", dict1)
print("Dictionary 2 contains :", dict2)

Produzione:

After using clear()
Dictionary 1 contains : {}
Dictionary 2 contains : {}

Come puoi vedere, dict1 e dict2 sono ora vuoti.

Assegnazione del dizionario a {}:

dict1 = {"name": "John", "age": 23}
dict2 = dict1

# Assign {} removes only dict1 contents
dict1 = {}

print("After assigning {}")
print("Dictionary 1 contains :", dict1)
print("Dictionary 2 contains :", dict2)

Produzione:

After assigning {}
Dictionary 1 contains : {}
Dictionary 2 contains : {'name': 'John', 'age': 23}

Nell’esempio sopra, dict1 = {} ha creato un nuovo dizionario vuoto, mentre dict2 punta ancora al vecchio valore di dict1, che lascia i valori in dict2 invariati. In questo caso, la garbage collection non viene attivata perché è ancora presente un’altra variabile che fa riferimento al dizionario.

In sintesi, l’utilizzo di {} per cancellare tutti i contenuti in un dizionario crea una nuova istanza invece di aggiornare il riferimento al dizionario esistente. Se hai un altro nome che fa riferimento allo stesso dizionario, è meglio usare la funzione clear() in modo che anche tutti i riferimenti alla stessa istanza vengano cancellati.

Articolo correlato - Python Dictionary