python 小技巧,给设计好的dict 增加嵌套值

beijing={}
beijing={'shanghai':'123'}
现在要给beijing的增加一个shanghai1 的嵌套值
beijing['shanghai1']['name']=1
运行:

那么在python3.5 后给我提供了一个collections模块可以解决。

defaultdict允许我们用一个聪明的方式绕过这个问题。 首先我分享一个使用dict触发KeyError的例子,然后提供一个使用defaultdict的解决方案。

import  collections,json
tree=lambda  :collections.defaultdict(tree)
some_dict=tree()
some_dict['shanghai']='122'
print(json.dumps(some_dict))
some_dict['shanghai1']['name']='yello'
print(json.dumps(some_dict))

 输出:

 

posted @ 2019-06-07 16:47  北漂的雷子  阅读(589)  评论(0编辑  收藏  举报