Python: reemplace ninguno con un diccionario vacío

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

Deja una respuesta

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