我有一个数据集,其中可能有n个有序字典的有序字典,现在我需要将它们全部转换为普通字典,除了递归搜索和转换之外,还有没有其他更简单的方法了。from collections import OrderedDictan=OrderedDict([('method', 'constant'), ('data', '1.225')])aw=OrderedDict([('method', 'constant'), ('data', OrderedDict([('1.225','777')]))])print dict(an)print dict(aw){'data': '1.225', 'method': 'constant'}{'data': OrderedDict([('1.225', '777')]), 'method': 'constant'}
1 回答
拉莫斯之舞
TA贡献1820条经验 获得超10个赞
可能不会。您可以将递归算法包装在一个函数中:
from collections import OrderedDict
def ordered_to_regular_dict(d):
if isinstance(d, OrderedDict):
d = {k: ordered_to_regular_dict(v) for k, v in d.items()}
return d
aw = OrderedDict([('method', 'constant'), ('data', OrderedDict([('1.225','777')]))])
res = ordered_to_regular_dict(aw)
# {'data': {'1.225': '777'}, 'method': 'constant'}
添加回答
举报
0/150
提交
取消