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))
输出: