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

Python如何统计嵌套结构字典中所有服务器键的总数量

统计所有服务器键总数的解决方案

问题原因

你调用len(dict.keys())得到结果3,是因为你仅统计了外层容器的元素数量,没有遍历累加每个内层字典的键数。

实现代码

场景1:子字典存储在列表中

如果你的数据结构如下:

server_list = [
    {'server-xx': '2'},
    {'server-xy1': '0', 'server-xy2': '1'},
    {'server-xz1': '0', 'server-xz2': '0'}
]

统计代码:

total_count = sum(len(sub_dict) for sub_dict in server_list)
print(total_count) # 输出:5

场景2:结构为嵌套字典

如果外层是一个大字典,每个值对应一个子字典,结构如下:

server_dict = {
    'group1': {'server-xx': '2'},
    'group2': {'server-xy1': '0', 'server-xy2': '1'},
    'group3': {'server-xz1': '0', 'server-xz2': '0'}
}

统计代码:

total_count = sum(len(sub_dict) for sub_dict in server_dict.values())
print(total_count) # 输出:5

如果存在更深层的嵌套字典,可以使用递归实现统计:

def count_all_keys(data):
    count = 0
    if isinstance(data, dict):
        count += len(data)
        for v in data.values():
            count += count_all_keys(v)
    elif isinstance(data, list):
        for item in data:
            count += count_all_keys(item)
    return count

total_count = count_all_keys(你的数据变量)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 08:24:04