Python普通字典以有序字典转换

sre*_*rek 2 python dictionary ordereddictionary python-2.7

我有python普通字典.在此,不保留插入顺序.我需要按插入顺序保留元素.我知道OrderedDict可以做这个工作.但是,我的问题是我需要从已经存在的普通字典中获取有序字典.这个字典无法更改.以下是我的普通词典:

d = {'tag': {'a': 1, 'c': {'k': 8}, 'b': 7, 'n': 6}}
Run Code Online (Sandbox Code Playgroud)

有没有办法在python中保持已经存在的字典中的元素顺序?任何帮助表示赞赏.使用python 2.7

jam*_*lak 8

简答:这是不可能的,一旦你创建了它没有订单的字典.

项目根据其哈希值而不是其插入顺序存储,您需要OrderedDict在开始时创建项目,以便在插入项目时记录插入顺序.