我有一个N层的嵌套dict对象:
d={'l0':{'l1':{'l2':...}}}
此外,我还有所有字典键的列表:
k=['l0','l1','l2',...]
对于任意列表,如何访问列表定义的元素,即:
d[k[0]][k[1]][k[2]].... = X
(我想要一个返回对数据的引用的函数...)
答案 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