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

如何从Python嵌套字典中提取所有叶子节点值?

获取嵌套字典的叶子节点值

可以通过递归遍历的方式提取嵌套字典的叶子节点值,核心思路是判断每个值是否为字典:若是则递归处理,若否则将其加入结果列表。

实现代码

def get_leaf_values(nested_dict):
    leaf_values = []
    for val in nested_dict.values():
        if isinstance(val, dict):
            leaf_values.extend(get_leaf_values(val))
        else:
            leaf_values.append(val)
    return leaf_values

# 测试示例
nested_dict = {'a':{1:2, 4:5}, 3:{'b':{'c':'d'}}, 'e':5}
print(get_leaf_values(nested_dict))  # 输出: [2, 5, 'd', 5]

逻辑说明

  • 初始化空列表leaf_values用于存储所有叶子节点值
  • 遍历输入字典的每一个值:
    • 若当前值是字典类型,递归调用函数处理该子字典,并将返回的叶子列表合并到主列表
    • 若当前值不是字典,直接将其添加到leaf_values中
  • 遍历完成后返回收集到的所有叶子节点值

内容的提问来源于stack exchange,提问作者piccolo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 09:22:00