Vaciar un diccionario en Python

Elsie Dela Pena 10 octubre 2023
  1. Asignar {} para vaciar un diccionario en Python
  2. Utilice la función clear() para eliminar todos los elementos dentro de un diccionario en Python
Vaciar un diccionario en Python

Este tutorial demostrará cómo vaciar un diccionario en Python.

Asignar {} para vaciar un diccionario en Python

Una solución simple para vaciar un diccionario en Python es asignar {} a un diccionario.

La asignación de {} crea una instancia de un nuevo objeto y reemplaza el diccionario existente. Esto significa que se asigna una nueva referencia en la memoria para un nuevo diccionario y el espacio asignado en la memoria para el diccionario antiguo que se reemplazó se etiqueta para la recolección de basura.

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

dct = {}

print("Dictionary contains:", dct)

Producción :

Dictionary contains : {}

Utilice la función clear() para eliminar todos los elementos dentro de un diccionario en Python

Otro enfoque es utilizar la función incorporada en Python, clear(), que elimina todos los contenidos existentes en el diccionario. La función no tiene ningún parámetro y no tiene valor de retorno. Su único propósito es solo borrar el contenido de un diccionario.

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

dict.clear()

print("Dictionary contains :", dict)

Producción :

Dictionary contains : {}

La diferencia entre asignar la función {} y clear() es que esta última no crea una nueva instancia sino que elimina todo el contenido del diccionario existente así como las referencias del diccionario porque el contenido se borra.

Comparemos estos dos enfoques en el mismo caso de uso.

Usando la función incorporada, clear():

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

dict1.clear()

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

Producción :

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

Como puede ver, dict1 y dict2 ahora están vacíos.

Asignar el diccionario 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)

Producción :

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

En el ejemplo anterior, dict1 = {} creó un nuevo diccionario vacío, mientras que dict2 todavía apunta al antiguo valor de dict1, que deja los valores en los valores de dict2 sin cambios. En este caso, la recolección de basura no se activa porque todavía hay otra variable que hace referencia al diccionario.

En resumen, el uso de {} para borrar todo el contenido de un diccionario crea una nueva instancia en lugar de actualizar la referencia del diccionario existente. Si tiene otro nombre que hace referencia al mismo diccionario, es mejor utilizar la función clear() para que también se borren todas las referencias a la misma instancia.

Artículo relacionado - Python Dictionary