You need to enable JavaScript to run this app. Python嵌套JSON/字典提取列表项统计Activation为False的数量
优惠活动
大模型
产品
解决方案
定价
更多

Python嵌套JSON/字典提取列表项统计Activation为False的数量

嵌套字典统计Activation为False条目的实现方案

首先需要修正原函数定义的语法问题:原写法def count_false:缺少参数列表,属于不合法的Python语法,实际实现需要将待统计的嵌套字典作为入参传入函数。

实现版本

定向匹配固定结构的版本

完全匹配题目给出的字典层级结构,逻辑直接,执行开销极低:

def count_false(data: dict) -> int:
    count = 0
    # 逐层遍历固定嵌套路径
    for list1_entry in data["fields"]["List1"]:
        for list2_entry in list1_entry["List2"]:
            for list3_entry in list2_entry["List3"]:
                if list3_entry.get("Activation") is False:
                    count += 1
    return count

代入题目给出的示例数据运行时,可正确统计到2条符合条件的条目,返回值与预期一致。

支持任意深度嵌套的通用版本

如果后续嵌套结构的层级、中间键名存在调整,不需要逐行修改代码,可通过递归遍历全量结构的方式实现统计:

def count_false(data) -> int:
    count = 0
    if isinstance(data, dict):
        # 匹配当前层级的目标键
        if data.get("Activation") is False:
            count += 1
        # 递归遍历字典的所有值
        for value in data.values():
            count += count_false(value)
    elif isinstance(data, list):
        # 递归遍历列表的所有元素
        for item in data:
            count += count_false(item)
    return count

实现细节:判断匹配条件时使用is False而非弱等价判断,可避免将数值0、空值等等效为布尔False的非目标值误统计,严格匹配"键为Activation且值为布尔类型False"的统计规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.13 06:15:03