Dada una string, con diferentes pares clave-valor separados por comas, la tarea es convertir esa string en el diccionario. Este tipo de problemas son comunes en el desarrollo web donde obtenemos argumentos de consultas u obtenemos una respuesta en forma de strings. A continuación se presentan algunos métodos para resolver la tarea.
Método #1: Usar la comprensión del diccionario
# Python3 code to demonstrate # converting comma separated string # into dictionary # Initialising string ini_string1 = 'name = akshat, course = btech, branch = computer' # Printing initial string print ("Initial String", ini_string1) # Converting string into dictionary # using dict comprehension res = dict(item.split("=") for item in ini_string1.split(", ")) # Printing resultant string print ("Resultant dictionary", str(res))
String inicial nombre = akshat, curso = btech, sucursal = computadora
Diccionario resultante {‘sucursal’: ‘computadora’, ‘nombre’: ‘akshat’, ‘curso’: ‘btech’}
Método #2: Usando Map y lambda
# Python3 code to demonstrate # converting comma separated string # into dictionary # Initialising string ini_string1 = 'name = akshat, course = btech, branch = computer' # Printing initial string print ("Initial String", ini_string1) # Converting string into dictionary # using map and lambda res = dict(map(lambda x: x.split('='), ini_string1.split(', '))) # Printing resultant string print ("Resultant dictionary", str(res))
String inicial nombre = akshat, curso = btech, sucursal = computadora
Diccionario resultante {‘curso’: ‘btech’, ‘nombre’: ‘akshat’, ‘sucursal’: ‘computadora’}
Método #3: Usar eval()
la función
# Python3 code to demonstrate # converting comma separated string # into dictionary # Initialising string ini_string1 = 'name ="akshat", course ="btech", branch ="computer"' # Printing initial string print ("Initial String", ini_string1) # Converting string into dictionary # using eval res = eval('dict('+ini_string1+')') # Printing resultant string print ("Resultant dictionary", str(res))
String inicial nombre =”akshat”, curso =”btech”, rama =”computadora”
Diccionario resultante {‘curso’: ‘btech’, ‘nombre’: ‘akshat’, ‘sucursal’: ‘computadora’}
Publicación traducida automáticamente
Artículo escrito por garg_ak0109 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA