Я борюсь со следующей проблемой: я хочу преобразовать OrderedDict
подобное:
OrderedDict([('method', 'constant'), ('data', '1.225')])
в обычный диктат вроде этого:
{'method': 'constant', 'data':1.225}
потому что мне нужно сохранить его как строку в базе данных. После преобразования порядок больше не важен, поэтому я все равно могу оставить заказанную функцию.
Спасибо за любые подсказки или решения,
Бен
repr(dict(OrderedDict([('method', 'constant'), ('data', '1.225')])))
?Ответы:
Однако, чтобы сохранить его в базе данных, было бы гораздо лучше преобразовать его в такой формат, как JSON или Pickle. С Pickle вы даже сохраните порядок!
источник
json
слишком .Несмотря на то, что это вопрос годичной давности, я хотел бы сказать, что использование
dict
не поможет, если у вас есть упорядоченный dict внутри упорядоченного dict. Самый простой способ преобразовать этот рекурсивный упорядоченный dict будетисточник
Легко преобразовать ваш
OrderedDict
в обычный,Dict
вот так:Если вам нужно сохранить его как строку в своей базе данных, используйте JSON. Это тоже довольно просто, и вам даже не нужно беспокоиться о преобразовании в обычный
dict
:Или выгрузите данные прямо в файл:
источник
Если вы ищете рекурсивную версию без использования
json
модуля:источник
Вот что кажется самым простым и работает в python 3.7
Теперь чтобы проверить это:
ПРИМЕЧАНИЕ: это также работает и дает тот же результат -
А также это -
Ура
источник
Если каким-то образом вам нужно простое, но другое решение, вы можете использовать
{**dict}
синтаксис:источник
Это простой способ
источник