考慮我有一個(gè)列表和字典,例如list = ['master', 'sub1', 'sub2']dict={'master':{'sub1':{'sub2':5}}}有沒(méi)有辦法迭代嵌套字典,以便我可以更新存儲(chǔ)在那里的值?dict['master']['sub1']['sub2'] = new_value鍵和 new_value 的列表可能會(huì)有所不同,因此解決方案不能是靜態(tài)的,這樣的問(wèn)題有解決方案嗎?使用functools.reduce()我們可以獲得存儲(chǔ)在該層次結(jié)構(gòu)中的特定值,但我不太確定如何更改存儲(chǔ)在該層次結(jié)構(gòu)中的值謝謝您的幫助!
1 回答

素胚勾勒不出你
TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超9個(gè)贊
您可以使用遞歸:
l = ['master', 'sub1', 'sub2']
d = {'master':{'sub1':{'sub2':5}}}
def to_dict(l, val=5):
return {l[0]:val if not l[1:] else to_dict(l[1:])}
print(to_dict(l))
輸出:
{'master': {'sub1': {'sub2': 5}}}
添加回答
舉報(bào)
0/150
提交
取消