Python – Eliminación de diccionarios anidados ninguno

A veces, mientras trabajamos con Registros, podemos tener un problema en el que necesitamos realizar la eliminación de registros anidados del diccionario que están vacíos. Esto puede tener aplicación en el preprocesamiento de datos. Analicemos ciertas formas en que se puede realizar esta tarea.

Método n.º 1: Usardict() + filter()
Esta es una de las formas en que se puede realizar esta tarea. En esto, realizamos la tarea de filtrar los valores Ninguno usando filter().

# Python3 code to demonstrate working of 
# Removing Nested None Dictionaries
# Using filter() + dict()
  
# initializing dictionary
test_dict = {'gfg' : {'a': 5}, 'best' : {}, 'for' : {}, 'geeks' : {'b' : 6}}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# Removing Nested None Dictionaries
# Using filter() + dict()
res = dict(filter(lambda sub: sub[1], test_dict.items()))
  
# printing result 
print("The dictionary after filtering is : " + str(res)) 
Producción :

El diccionario original es: {‘geeks’: {‘b’: 6}, ‘for’: {}, ‘gfg’: {‘a’: 5}, ‘best’: {}}
El diccionario después del filtrado es: {‘geeks’: {‘b’: 6}, ‘gfg’: {‘a’: 5}}

Método #2: Uso de la comprensión del diccionario
Esta es una de las formas en que se puede realizar esta tarea. En esto, solo recreamos el diccionario al verificar la presencia del valor de la clave.

# Python3 code to demonstrate working of 
# Removing Nested None Dictionaries
# Using dictionary comprehension
  
# initializing dictionary
test_dict = {'gfg' : {'a': 5}, 'best' : {}, 'for' : {}, 'geeks' : {'b' : 6}}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# Removing Nested None Dictionaries
# Using dictionary comprehension
res = {key : val for key, val in test_dict.items() if val}
  
# printing result 
print("The dictionary after filtering is : " + str(res)) 
Producción :

El diccionario original es: {‘geeks’: {‘b’: 6}, ‘for’: {}, ‘gfg’: {‘a’: 5}, ‘best’: {}}
El diccionario después del filtrado es: {‘geeks’: {‘b’: 6}, ‘gfg’: {‘a’: 5}}

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *