def us(di,keys,val):
length = len(keys)
if(length == 0):
return val
else:
key = keys.pop(0)
if(key in di.keys()):
di[key] = us(di[key],keys,val)
else:
di[key] = us({},keys,val)
return di
a = {}
us(a,['a','b','c'],2222)
print(a)
us(a,['a','b','d'],1111)
print(a)
print(a['a']['b']['c'])
print(a['a']['b']['d'])
执行结果
字典多维检查
def checkDi(di,keys,val = None):
length = len(keys)
if(length == 0):
if(di == val):
return True
else:
return False
else:
key = keys.pop(0)
if(key not in di.keys()):
return False
else:
return checkDi(di[key],keys,val)
a = {'a':{'b':{'c':10}}}
res = checkDi(a,['a','b','c'],10)
print(res)
a = {}
res = checkDi(a,['a','b','c'],20)
print(res)
运行结果