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))
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))
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