从键列表访问嵌套的dict

时间:2019-12-04 11:50:05

标签: python

我有一个N层的嵌套dict对象:

d={'l0':{'l1':{'l2':...}}}

此外,我还有所有字典键的列表:

k=['l0','l1','l2',...]

对于任意列表,如何访问列表定义的元素,即:

d[k[0]][k[1]][k[2]].... = X

(我想要一个返回对数据的引用的函数...)

2 个答案:

答案 0 :(得分:1)

以下是一种方法:

def resolve_value(obj, keys):
    for key in keys:
        obj = obj[key]
    return obj


k = ['l0', 'l1', 'l2']
d = {'l0': {'l1': {'l2': 'hello'}}}

print(resolve_value(d, k))

输出

hello

答案 1 :(得分:-1)

您可以使用直观的解决方案:

val = d
for key in k:
   val = val[key]
# operations with val here