Python: convierte la string de clave-valor en diccionario

A veces, mientras trabajamos con strings de Python, podemos tener problemas en los que necesitamos convertir un par clave-valor de string a diccionario. Esto puede tener aplicaciones en las que estamos trabajando con datos de string y necesita ser convertido. Analicemos ciertas formas en que se puede realizar esta tarea.

Método n.º 1: Uso map() + split()del bucle +
La combinación de las funcionalidades anteriores se puede utilizar para realizar esta tarea. En esto, realizamos la conversión del par clave-valor al diccionario usando map y la división de pares clave-valor se realiza usando split().

# Python3 code to demonstrate working of 
# Convert key-value String to dictionary
# Using map() + split() + loop
  
# initializing string
test_str = 'gfg:1, is:2, best:3'
  
# printing original string
print("The original string is : " + str(test_str))
  
# Convert key-value String to dictionary
# Using map() + split() + loop
res = []
for sub in test_str.split(', '):
    if ':' in sub:
        res.append(map(str.strip, sub.split(':', 1)))
res = dict(res)
  
# printing result 
print("The converted dictionary is : " + str(res)) 
Producción :

The original string is : gfg:1, is:2, best:3
The converted dictionary is : {'gfg': '1', 'is': '2', 'best': '3'}

Método n.º 2: usardict() + generator expression + split() + map()
Esto es otra forma más de resolver este problema. En esto, realizamos la tarea de manera similar a la anterior pero en una sola línea usando dict() y la expresión del generador.

# Python3 code to demonstrate working of 
# Convert key-value String to dictionary
# Using dict() + generator expression + split() + map()
  
# initializing string
test_str = 'gfg:1, is:2, best:3'
  
# printing original string
print("The original string is : " + str(test_str))
  
# Convert key-value String to dictionary
# Using dict() + generator expression + split() + map()
res = dict(map(str.strip, sub.split(':', 1)) for sub in test_str.split(', ') if ':' in sub)
  
# printing result 
print("The converted dictionary is : " + str(res)) 
Producción :

The original string is : gfg:1, is:2, best:3
The converted dictionary is : {'gfg': '1', 'is': '2', 'best': '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 *