Dado un diccionario, reemplace los valores Ninguno en cada anidamiento con un diccionario vacío.
Entrada : test_dict = {“Gfg”: {1: Ninguno, 7: Ninguno}, “es”: Ninguno, “Mejor”: [1, { 5: Ninguno}, 9, 3]}
Salida : {‘Gfg’: {1: {}, 7: {}}, ‘is’: {}, ‘Best’: [1, {5: {}}, 9, 3]}
Explicación : todos los valores Ninguno se reemplazan por diccionarios vacíos.Entrada : test_dict = {“Gfg”: {7: Ninguno}, “es”: Ninguno, “Mejor”: [1, {5: Ninguno}, 9, 3]}
Salida : {‘Gfg’: {7: { }}, ‘is’: {}, ‘Best’: [1, {5: {}}, 9, 3]}
Explicación : todos los valores Ninguno se reemplazan por diccionarios vacíos.
Método: Usando recursividad + isinstance()
En esto, verificamos la instancia del diccionario usando isinstance() y llamamos a la recursividad para los reemplazos de diccionarios anidados. Esto también busca instancias anidadas en forma de elementos de lista y verifica la lista usando isinstance().
Python3
# Python3 code to demonstrate working of # Replace None with Empty Dictionary # Using recursion + isinstance() # helper function to perform task def replace_none(test_dict): # checking for dictionary and replacing if None if isinstance(test_dict, dict): for key in test_dict: if test_dict[key] is None: test_dict[key] = {} else: replace_none(test_dict[key]) # checking for list, and testing for each value elif isinstance(test_dict, list): for val in test_dict: replace_none(val) # initializing dictionary test_dict = {"Gfg": {1: None, 7: 4}, "is": None, "Best": [1, {5: None}, 9, 3]} # printing original dictionary print("The original dictionary is : " + str(test_dict)) # calling helper fnc replace_none(test_dict) # printing result print("The converted dictionary : " + str(test_dict))
Producción:
El diccionario original es: {‘Gfg’: {1: Ninguno, 7: 4}, ‘es’: Ninguno, ‘Mejor’: [1, {5: Ninguno}, 9, 3]}
El diccionario convertido: {‘ Gfg’: {1: {}, 7: 4}, ‘es’: {}, ‘Mejor’: [1, {5: {}}, 9, 3]}
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