You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何递归查找Python嵌套字典中指定key并返回所有对应值

实现方案

我们可以写一个通用的递归查找函数,同时支持处理嵌套字典、列表/元组内的嵌套结构,代码如下:

def find_all_values_by_key(obj, target_key):
    res = []
    # 处理字典类型
    if isinstance(obj, dict):
        for k, v in obj.items():
            if k == target_key:
                res.append(v)
            # 递归处理当前值
            res.extend(find_all_values_by_key(v, target_key))
    # 处理列表/元组类型,遍历内部元素递归查找
    elif isinstance(obj, (list, tuple)):
        for item in obj:
            res.extend(find_all_values_by_key(item, target_key))
    # 其他基础类型无key,直接返回空列表
    return res

# 测试用例
dictionary = {"name": "Stephen", "language": "English", "address": "13 Aust road", "teacher_info": [{"name": "Alan", "language": "Italian"}]}
output = find_all_values_by_key(dictionary, "language")
print(output)

运行上述代码输出结果为:

['English', 'Italian']

补充说明

  • 原有代码存在拼写错误:append 被误写为 appened,会触发属性不存在报错
  • 该递归函数通用性更强,无论目标键嵌套在多少层字典/列表结构里,都能正确提取到对应值

内容的提问来源于stack exchange,提问作者Let'sbecool

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 17:06:02