簡體   English   中英

如何將 dict 的嵌套 dict 轉換為嵌套的 OrderedDict

[英]How to convert nested dict of dict to nested OrderedDict

需要將 dict 的嵌套 dict 轉換為嵌套的有序 dict

user_dict = {"a": {"b": {"c":
                              {'d': 'e',
                              'f': 'g',
                              'h': 'i'
                              }}}}

預期輸出:

cfg_opts = OrderedDict([('a', OrderedDict([('b', OrderedDict([('c', OrderedDict([('d', 'e'), ('f','g'), ('h', 'i')]))]))]))])

我會為這個任務使用遞歸函數如下

import collections
user_dict = {'a': {'b': {'c': {'d': 'e', 'f': 'g', 'h': 'i'}}}}
def orderify(d):
    if isinstance(d,dict):
        return collections.OrderedDict({k:orderify(v) for k,v in d.items()})
    else:
        return d
ordered_user_dict = orderify(user_dict)
print(ordered_user_dict)

輸出

OrderedDict([('a', OrderedDict([('b', OrderedDict([('c', OrderedDict([('d', 'e'), ('f', 'g'), ('h', 'i')]))]))]))])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM