Estoy luchando con el siguiente problema: quiero convertir uno OrderedDictcomo este:
OrderedDict([('method', 'constant'), ('data', '1.225')])
en un dictado regular como este:
{'method': 'constant', 'data':1.225}
porque tengo que almacenarlo como una cadena en una base de datos. Después de la conversión, el orden ya no es importante, así que puedo prescindir de la función ordenada de todos modos.
Gracias por cualquier sugerencia o solución,
Ben

repr(dict(OrderedDict([('method', 'constant'), ('data', '1.225')])))?Respuestas:
Sin embargo, para almacenarlo en una base de datos sería mucho mejor convertirlo a un formato como JSON o Pickle. ¡Con Pickle incluso conservas el orden!
fuente
jsondemasiado .Aunque esta es una pregunta de hace un año, me gustaría decir que el uso
dictno ayudará si tiene un dictado ordenado dentro del dictado ordenado. La forma más sencilla de convertir esos dictados ordenados recursivos seráfuente
Es fácil convertir tu
OrderedDicta un regularDictcomo este:Si tiene que almacenarlo como una cadena en su base de datos, usar JSON es el camino a seguir. Eso también es bastante simple, y ni siquiera tiene que preocuparse por convertir a regular
dict:O volcar los datos directamente en un archivo:
fuente
Si está buscando una versión recursiva sin usar el
jsonmódulo:fuente
Esto es lo que parece más simple y funciona en Python 3.7
Ahora para comprobar esto:
NOTA: Esto también funciona y da el mismo resultado:
Tan bien como esto -
Salud
fuente
Si de alguna manera desea una solución simple pero diferente, puede usar la
{**dict}sintaxis:fuente
Su manera simple
fuente