Pythonで多重のネストされた辞書の値を検索する方法は何ですか?

多階にネストされた辞書の値を検索するためには、再帰的な方法を使うことができます。再帰は、自身を呼び出す関数の一種であり、各階層のネストされた辞書内を検索し、必要な値を見つけるか、すべての辞書を探索するまで続けることができます。

以下是一个示例代码,演示了如何使用递归来查找多层嵌套字典的值:

def find_value(dictionary, target_key):
    for key, value in dictionary.items():
        if key == target_key:
            return value
        elif isinstance(value, dict):
            result = find_value(value, target_key)
            if result is not None:
                return result
    return None

# 示例字典
my_dict = {
    'a': 1,
    'b': {
        'c': 2,
        'd': {
            'e': 3,
            'f': 4
        }
    }
}

# 查找值
result = find_value(my_dict, 'f')
print(result)  # 输出: 4

上記の例では、find_value関数は2つの引数を受け取ります:検索対象の辞書を示す引数dictionaryと、検索するキーを示す引数target_keyです。この関数は、辞書のキーと値を反復処理し、現在のキーが目標のキーと一致する場合、対応する値を返します。現在の値が辞書である場合、find_value関数を再帰的に呼び出して次の階層の辞書を検索します。すべての辞書を反復処理しても目標のキーが見つからない場合は、Noneを返します。

自分のデータを使って、例のコード内の辞書と目標キーの値を置き換えることで、具体的な検索機能が実現できます。

bannerAds