我在Python中有字典,它可以很深,而不仅仅是2个级别。
data = {
0: {
1: {
2: "Yes"
},
3: {
4: "No"
}
},
}
我需要获取并设置数据,但是密钥是动态的并且存储在列表中
key_to_get = [0,1,2]
print(data.get(key_to_get))
应打印Yes
想法?
答案 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)