Vider un dictionnaire en Python

Elsie Dela Pena 10 octobre 2023
  1. Attribuer {} pour vider un dictionnaire en Python
  2. Utilisez la fonction clear() pour supprimer tous les éléments d’un dictionnaire en Python
Vider un dictionnaire en Python

Ce tutoriel montrera comment vider un dictionnaire en Python.

Attribuer {} pour vider un dictionnaire en Python

Une solution simple pour vider un dictionnaire en python consiste à affecter {} à un dictionnaire.

L’affectation de {} instancie un nouvel objet et remplace le dictionnaire existant. Cela signifie qu’une nouvelle référence en mémoire est attribuée pour un nouveau dictionnaire et que l’espace alloué en mémoire pour l’ancien dictionnaire qui a été remplacé est marqué pour le garbage collection.

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

dct = {}

print("Dictionary contains:", dct)

Production:

Dictionary contains : {}

Utilisez la fonction clear() pour supprimer tous les éléments d’un dictionnaire en Python

Une autre approche consiste à utiliser la fonction intégrée en Python, clear(), qui supprime tout le contenu existant dans le dictionnaire. La fonction n’a aucun paramètre et n’a pas de valeur de retour. Son seul but est uniquement d’effacer le contenu d’un dictionnaire.

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

dict.clear()

print("Dictionary contains :", dict)

Production:

Dictionary contains : {}

La différence entre l’affectation des fonctions {} et clear() est que cette dernière ne crée pas de nouvelle instance mais supprime tout le contenu du dictionnaire existant ainsi que les références du dictionnaire car le contenu est effacé.

Comparons ces deux approches dans le même cas d’utilisation.

En utilisant la fonction intégrée, clear():

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

dict1.clear()

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

Production:

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

Comme vous pouvez le voir, dict1 et dict2 sont maintenant vides.

Attribuer le dictionnaire à {}:

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)

Production:

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

Dans l’exemple ci-dessus, dict1 = {} a créé un nouveau dictionnaire vide, alors que dict2 pointe toujours vers l’ancienne valeur de dict1, ce qui laisse les valeurs des valeurs dict2 inchangées. Dans ce cas, le garbage collection n’est pas déclenché car il existe encore une autre variable référençant le dictionnaire.

En résumé, l’utilisation de {} pour effacer tout le contenu d’un dictionnaire crée une nouvelle instance au lieu de mettre à jour la référence de dictionnaire existante. Si vous avez un autre nom faisant référence au même dictionnaire, il est préférable d’utiliser la fonction clear() pour que toutes les références à la même instance soient également effacées.

Article connexe - Python Dictionary