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

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

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

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

1
2
3
4
5
6
7
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))

 

                                    {"shanghai1": {"name": "yello"}}

posted on 2019-09-17 13:52  barton123  阅读(205)  评论(0编辑  收藏  举报

导航