【发布时间】:2014-09-23 02:37:03
【问题描述】:
我有一个嵌套的OrderedDict 我想转换为dict。在其上应用dict() 显然只会转换最后一个条目的最外层。
from collections import OrderedDict
od = OrderedDict(
[
(u'name', u'Alice'),
(u'ID', OrderedDict(
[
(u'type', u'card'),
(u'nr', u'123')
]
)),
(u'name', u'Bob'),
(u'ID', OrderedDict(
[
(u'type', u'passport'),
(u'nr', u'567')
]
))
]
)
print(dict(od))
输出:
{u'name': u'Bob', u'ID': OrderedDict([(u'type', u'passport'), (u'nr', u'567')])}
有没有直接转换所有出现的方法?
【问题讨论】:
-
您只想转换
OrderedDict实例吗? -
为什么要转换它?您几乎可以在
dict工作的任何地方使用OrderedDict。 -
@PatrickCollins:对不起,我不明白你的问题。对于所有元素,我希望将所有 OrderedDicts 转换为 dicts(我在几秒钟前的问题中澄清了这一点)
-
@jonrsharpe:我会得到一个巨大的 OrderedDict(几百兆到几场演出),我读到内存开销很大(大约两倍)。由于我不需要订单,因此我至少会对其进行调整以使其易于管理。
标签: python dictionary