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)) |
输出:
出 处:https://www.cnblogs.com/leiziv5/p/10988568.html