Python通过变量中的键获取/设置字典的字典值

时间:2018-09-15 17:22:05

标签: python dictionary override getter-setter

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

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

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

key_to_get = [0,1,2]

print(data.get(key_to_get))

应打印Yes

想法?

1 个答案:

答案 0 :(得分:0)

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

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)