Python | Convierta una string separada por comas de par clave-valor en un diccionario

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))
     
Producción:

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))
     
Producción:

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))
   
Producción:

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

Deja una respuesta

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