Python: convierte strings en diccionarios anidados

A veces, mientras trabajamos con diccionarios, podemos tener un problema en el que necesitamos convertir una string en un diccionario anidado, cada aparición de separador significa un nuevo anidamiento. Este es un problema particular, pero puede ocurrir en dominios de datos y programación día a día. Vamos a discutir cierta forma en que se puede hacer esta tarea.

Método: Uso de bucle + recursividad
Esta es la forma en que se puede realizar esta tarea. En esto, recurrimos al anidamiento del diccionario cuando encontramos una ocurrencia de separador.

# Python3 code to demonstrate working of 
# Convert String to Nested Dictionaries
# Using loop
  
def helper_fnc(test_str, sep):
  if sep not in test_str:
    return test_str
  key, val = test_str.split(sep, 1)
  return {key: helper_fnc(val, sep)}
  
# initializing string
test_str = 'gfg_is_best_for_geeks'
  
# printing original string
print("The original string is : " + str(test_str))
  
# initializing separator
sep = '_'
  
# Convert String to Nested Dictionaries
# Using loop
res = helper_fnc(test_str, sep)
  
# printing result 
print("The nested dictionary is : " + str(res)) 
Producción :

The original string is : gfg_is_best_for_geeks
The nested dictionary is : {'gfg': {'is': {'best': {'for': 'geeks'}}}}

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 *