[英]How to convert nested dict of dict to nested OrderedDict
Having a requirement to convert nested dict of dict to nested ordered dict需要将 dict 的嵌套 dict 转换为嵌套的有序 dict
user_dict = {"a": {"b": {"c":
{'d': 'e',
'f': 'g',
'h': 'i'
}}}}
Expected output:预期输出:
cfg_opts = OrderedDict([('a', OrderedDict([('b', OrderedDict([('c', OrderedDict([('d', 'e'), ('f','g'), ('h', 'i')]))]))]))])
I would use recursive function for this task as follows我会为这个任务使用递归函数如下
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)
output输出
OrderedDict([('a', OrderedDict([('b', OrderedDict([('c', OrderedDict([('d', 'e'), ('f', 'g'), ('h', 'i')]))]))]))])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.