Python get/set dicts by key in variable 的字典值

Python get/set value of dict of dicts by key in variable

我在 Python 中有 dict of dicts,它可以很深,而不仅仅是 2 个级别。

data = {
    0: {
        1: {
            2: "Yes"
        },
        3: {
            4: "No"
        }
    },
}

我需要获取和设置数据,但密钥是动态的,存储在列表中

key_to_get = [0,1,2]

print(data.get(key_to_get))

应该打印 Yes

想法?

这是一个解决问题的简单递归函数

def getValue(dict, keys):
    if len(keys) == 1:
        return dict.get(keys[0])
    return getValue(dict.get(keys[0]), keys[1:])

如果你觉得无聊,还有一种迭代方法

temp = data
for key in key_to_get:
    temp = temp.get(key)
print(temp)