要查找多層嵌套字典的值,可以使用遞歸方法。下面是一個示例代碼:
def find_value(nested_dict, keys):
if len(keys) == 1:
return nested_dict.get(keys[0])
else:
key = keys[0]
if key in nested_dict:
return find_value(nested_dict[key], keys[1:])
else:
return None
# 示例字典
example_dict = {
'a': {
'b': {
'c': 123
}
}
}
# 查找值
keys = ['a', 'b', 'c']
value = find_value(example_dict, keys)
print(value) # 輸出: 123
在這個示例中,find_value
函數接受兩個參數:nested_dict
表示嵌套字典,keys
表示要查找的鍵的列表。函數首先判斷keys
列表的長度,如果只有一個元素,則直接返回對應的值。如果keys
列表的長度大于1,則取第一個鍵作為當前層級的鍵,并在nested_dict
中查找該鍵對應的值。如果鍵存在,將遞歸調用find_value
函數來繼續查找下一層級的值;如果鍵不存在,返回None
表示未找到。
使用示例字典example_dict
和要查找的鍵['a', 'b', 'c']
調用find_value
函數,將返回值123。