【问题标题】:multiple OrderedDict to dictionary from python [duplicate]多个OrderedDict从python到字典[重复]
【发布时间】:2016-09-29 11:47:56
【问题描述】:

我目前的 OrderedDict 如下所示。

d = [OrderedDict([('id', u'570c737e87f8dc15788790b7'), ('name', u'Murgh ')]), OrderedDict([('id', u'570c737e87f8dc15788790b6'), ('name', u'Mushroom')])]

但在这里我需要将其转换为正常的字典格式,如下所示。

{"id": "570c737e87f8dc15788790b7","name": "Murgh"
  },

{
"id": "570c737e87f8dc15788790b6","name": "Mushroom"
  }

如何从 python 中做到这一点。

【问题讨论】:

标签: python dictionary ordereddictionary


【解决方案1】:

您可以使用来自每个OrderedDicts 的数据初始化一个新的dict,如下所示:

dicts = [dict(_) for _ in d]

或者,获取以 id 作为键、名称作为值的 dict:

users = { od['id']:od['name'] for od in d }

【讨论】:

  • @LutzHorn:正确。我希望更新后的答案能反映出这一点
  • @LutzHorn 谢谢。但它仍然显示为列表字典,我只想要字典。
  • @user1335606:啊,我明白了。字典只能包含每个键一次。所以你不能多次拥有密钥“id”。您在问题中给出的所需输出也是字典的列表/元组。您能否更新您的问题以显示 dict 的外观?
  • 实际上我正在编写从 serializers.py 获得的结果之上的 Web 服务。所以在 Postman 中显示为导致问题的 List dict。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-09-19
  • 1970-01-01
  • 2019-06-19
  • 1970-01-01
  • 2020-06-14
  • 1970-01-01
  • 2017-04-27
相关资源
最近更新 更多