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