Svuota un dizionario in Python

  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.

Python
 pythonCopydct = {"name": "John", "age": 23}

dct = {}

print("Dictionary contains:", dct)

Produzione:

 textCopyDictionary 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.

Python
 pythonCopydict = {"name": "John", "age": 23}

dict.clear()

print("Dictionary contains :", dict)

Produzione:

 textCopyDictionary 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():

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

dict1.clear()

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

Produzione:

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

Come puoi vedere, dict1 e dict2 sono ora vuoti.

Assegnazione del dizionario a {}:

Python
 pythonCopydict1 = {"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:

 textCopyAfter 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.

Ti piacciono i nostri tutorial? Iscriviti a DelftStack su YouTube per aiutarci a creare altre guide video di alta qualità. Iscriviti

Articolo correlato - Python Dictionary