A veces, mientras trabajamos con los diccionarios de Python, podemos tener un problema en el que necesitamos probar si un diccionario en particular tiene registros anidados y todos ellos están vacíos, es decir, sin clave o sin valor en el caso de la lista. Este tipo de problema es bastante común en dominios de datos como Data Science.
Vamos a discutir cierta forma en que se puede realizar esta tarea.
Entrada : test_dict = {‘Gfg’: [], ‘geeks’: {}}
Salida : VerdaderoEntrada : test_dict = {‘Gfg’: 4}
Salida : Falso
Método n. ° 1: usar recursión +all() + isinstance()
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, verificamos todos los anidamientos usando all(), recursividad e isinstance() se usa para probar el diccionario o la lista.
# Python3 code to demonstrate working of # Test for empty Nested Records # Using recursion + all() + isinstance # Helper function def hlper_fnc(test_dict): if isinstance(test_dict, dict): return all(hlper_fnc(sub) for _, sub in test_dict.items()) if isinstance(test_dict, list): return all(hlper_fnc(sub) for sub in test_dict) return False # initializing dictionary test_dict = {'Gfg': [], 'is': { 'best': [], 'for': {} }, 'geeks': {}} # printing original dictionary print("The original dictionary : " + str(test_dict)) # Test for empty Nested Records # Using recursion + all() + isinstance res = hlper_fnc(test_dict) # printing result print("Is dictionary without data ? : " + str(res))
El diccionario original: {‘is’: {‘best’: [], ‘for’: {}}, ‘geeks’: {}, ‘Gfg’: []}
¿Es el diccionario sin datos? : Verdadero
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