这种递归的思路比较有趣,而且也用到了,就记录一下
def flatten_dict(d, final_d=None, pre=""):
if final_d == None:
final_d = {}
for key, value in d.items():
if isinstance(value, dict):
flatten_dict(value, final_d, pre+str(key)+"_")
else:
final_d[pre+str(key)] = value
return final_d
d = {'a': 1, 'b': {'c':2, 'd':3}}
print(flatten_dict(d))