为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Helenr 2023-10-25 10:24:10
考虑我有一个列表和字典,例如list = ['master', 'sub1', 'sub2']dict={'master':{'sub1':{'sub2':5}}}有没有办法迭代嵌套字典,以便我可以更新存储在那里的值?dict['master']['sub1']['sub2'] = new_value键和 new_value 的列表可能会有所不同,因此解决方案不能是静态的,这样的问题有解决方案吗?使用functools.reduce()我们可以获得存储在该层次结构中的特定值,但我不太确定如何更改存储在该层次结构中的值谢谢您的帮助!
查看完整描述

1 回答

?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

您可以使用递归:


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}}}


查看完整回答
反对 回复 2023-10-25
  • 1 回答
  • 0 关注
  • 47 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信