【发布时间】:2019-04-01 04:18:05
【问题描述】:
我刚刚将另一个程序生成的字典复制到 python 程序(用 python 代码硬编码)。
a = {'b':{'d':3, 'c':4}, 'a':2}
但是在阅读字典时,顺序发生了变化,这造成了问题。
如果我也使用 OrderedDict,则只会保存顶级订单,但不会保存内部字典。
我需要顺序,因为我正在根据字典数据生成树,这样当我从该树中读取时,我会得到相同的顺序。我正在使用 python 2 版本。
谢谢。这是python的缺点吗?
编辑:我正在使用这个单行语句:
a = OrderedDict({'b':{'d':3, 'c':4}, 'a':2})
我只是以简单的字典为例,但我的实际字典非常大,所以我不能手动将 OrderedDict 添加到所有内部字典以使其排序。在python 2中寻找解决方案,如果不可能,请在python 3中提供
【问题讨论】:
-
发布您用于 OrderedDict 的代码,您可能只是忘记将嵌套的 dict 也设为 OrderedDict。
-
我正在使用这个单行语句:a = OrderedDict({'b':{'d':3, 'c':4}, 'a':2})
标签: python dictionary nested python-2.x ordereddictionary