需要在字典中更改
d1['a']['b']['c'] = 1
但是有可能
d1['a']['b']
不存在,因此必须以递归方式添加
预期结果
d1={} will be {'a':{'b':{'c':'1'}}}
d1={'a':{'b':{'c':'0'}}} will be {'a':{'b':{'c':'1'}}}
d1={'f':1,'a':{'h':'1','b':{'d':'1'}}} will be {'f':1,'a':{'h':1,'b':{'c':'1','d':'1'}}}
d1={'f':1,'a':{'b':{'c':'0','d':'1'}}} will be {'f':1,'a':{'b':{'c':'1','d':'1'}}}
d1={'f':1,'j':{'h':'1','b':{'d':'1'}}} will be {'f':1,'a':{'b':{'c':'1'}},'j':{'h':'1','b':{'d':'1'}}}
丑陋的方式是
if not 'a' in d1.keys():
d1['a'] = {}
if not 'b' in d1['a'].keys():
d1['a']['b'] = {}
d1['a']['b']['c'] = 1
但我想要像this这样的非常递归的解决方案,但是要编辑现有的dict。