迭代字典提供的键来自列表

考虑我有一个列表和字典,例如


list = ['master', 'sub1', 'sub2']

dict={'master':{'sub1':{'sub2':5}}}

有没有办法迭代嵌套字典,以便我可以更新存储在那里的值?


dict['master']['sub1']['sub2'] = new_value

键和 new_value 的列表可能会有所不同,因此解决方案不能是静态的,这样的问题有解决方案吗?


使用functools.reduce()我们可以获得存储在该层次结构中的特定值,但我不太确定如何更改存储在该层次结构中的值


谢谢您的帮助!


Helenr
浏览 85回答 1
1回答

素胚勾勒不出你

您可以使用递归: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}}}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python