python之怎么查找多層嵌套字典的值

小億
131
2024-01-30 10:28:00

要查找多層嵌套字典的值,可以使用遞歸方法。下面是一個(gè)示例代碼:

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

在這個(gè)示例中,find_value函數(shù)接受兩個(gè)參數(shù):nested_dict表示嵌套字典,keys表示要查找的鍵的列表。函數(shù)首先判斷keys列表的長(zhǎng)度,如果只有一個(gè)元素,則直接返回對(duì)應(yīng)的值。如果keys列表的長(zhǎng)度大于1,則取第一個(gè)鍵作為當(dāng)前層級(jí)的鍵,并在nested_dict中查找該鍵對(duì)應(yīng)的值。如果鍵存在,將遞歸調(diào)用find_value函數(shù)來(lái)繼續(xù)查找下一層級(jí)的值;如果鍵不存在,返回None表示未找到。

使用示例字典example_dict和要查找的鍵['a', 'b', 'c']調(diào)用find_value函數(shù),將返回值123。

0