欢迎访问宙启技术站
智能推送

Python函数:利用递归查找嵌套字典中的值

发布时间:2023-11-10 07:57:54

在Python中,可以使用递归来查找嵌套字典中的值。下面是一个使用递归的函数示例:

def find_value(dictionary, key):
    # 如果字典直接包含要查找的键,则返回对应的值
    if key in dictionary:
        return dictionary[key]
   
    # 否则,遍历所有的值
    for value in dictionary.values():
        # 如果值是一个字典,则递归地在字典中查找值
        if isinstance(value, dict):
            result = find_value(value, key)
            # 如果找到了值,则返回结果
            if result is not None:
                return result

这个函数接受两个参数,一个是要查找的字典(dictionary),另一个是要查找的键(key)。如果字典直接包含要查找的键,则函数会返回对应的值。否则,函数会遍历字典中的每个值,如果值是一个字典,则递归地在字典中查找值。如果找到了值,则函数会返回结果。

下面是一个使用这个函数的示例:

# 嵌套字典
my_dict = {
    'key1': 'value1',
    'key2': {
        'key3': 'value3',
        'key4': {
            'key5': 'value5'
        }
    }
}

# 查找值
value = find_value(my_dict, 'key5')

# 输出结果
print(value)  # 'value5'

在这个示例中,我们定义了一个嵌套字典 my_dict,然后使用函数 find_value 在字典中查找键 'key5' 对应的值。最后,将找到的值打印到控制台上。

这就是使用递归在嵌套字典中查找值的方法。希望对你有所帮助!