Dada la lista de diccionarios en formato de string, convertir en lista real de diccionarios.
Entrada : test_str = [“[{‘Gfg’: 3, ‘Best’: 8}, {‘Gfg’: 4, ‘Best’: 8}]”]
Salida : [[{‘Gfg’: 3, ‘Best ‘: 8}, {‘Gfg’: 4, ‘Best’: 8}]]
Explicación : string convertida en lista de diccionarios.Entrada : test_str = [“[{‘Gfg’: 3, ‘Best’: 8}]”]
Salida : [[{‘Gfg’: 3, ‘Best’: 8}]]
Explicación : String convertida a lista de diccionarios .
Método #1: Usar json.loads() + replace()
La combinación de las funciones anteriores se puede utilizar para resolver este problema. En esto, reemplazamos las strings internas usando replace() y la lista de diccionarios se hace usando loads().
Python3
# Python3 code to demonstrate working of # Convert String to List of dictionaries # Using json.loads + replace() import json # initializing string test_str = ["[{'Gfg' : 3, 'Best' : 8}, {'Gfg' : 4, 'Best' : 9}]"] # printing original string print("The original string is : " + str(test_str)) # replace() used to replace strings # loads() used to convert res = [json.loads(idx.replace("'", '"')) for idx in test_str] # printing result print("Converted list of dictionaries : " + str(res))
The original string is : ["[{'Gfg' : 3, 'Best' : 8}, {'Gfg' : 4, 'Best' : 9}]"] Converted list of dictionaries : [[{'Gfg': 3, 'Best': 8}, {'Gfg': 4, 'Best': 9}]]
Método #2: Usar eval()
Esta es una de las formas en que se puede realizar esta tarea. El eval(), evalúa internamente el tipo de datos y devuelve el resultado requerido.
Python3
# Python3 code to demonstrate working of # Convert String to List of dictionaries # Using json.loads + replace() # initializing string test_str = "[{'Gfg' : 3, 'Best' : 8}, {'Gfg' : 9, 'Best' : 9}]" # printing original string print("The original string is : " + str(test_str)) # eval() used to convert res = list(eval(test_str)) # printing result print("Converted list of dictionaries : " + str(res))
The original string is : [{'Gfg' : 3, 'Best' : 8}, {'Gfg' : 9, 'Best' : 9}] Converted list of dictionaries : [{'Gfg': 3, 'Best': 8}, {'Gfg': 9, 'Best': 9}]
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