在嵌套字典中计数 python

Count in nested dictionary python

我有一个调用 API 的 python 函数,响应是一个巨大的 JSON,我将其存储为字典。

为了大量输出,我设法将 I 缩减为像这样的新词典

{'server-xx': '2'}
{'server-xy1': '0', 'server-xy2': '1'}
{'server-xz1': '0', 'server-xz2': '0'}

我有兴趣计算服务器总数,在本例中为 5“server-xx”、“server-xy1”、“server-xy2”、“server-xz1”、“server-xz2” ".

服务器名称旁边的数字并不重要,我只需要服务器总数。

但我不知道该怎么做。我知道我可以数出钥匙的数量 print(len(dict.keys())),但在我的情况下这将是 return 3。

我该如何解决这个问题?我需要值 5 作为它。

你的词典是怎么建的?

我猜是这样的 -

dictionary = { "dict1" : {'server-xx': '2'},
"dict2" : {'server-xy1': '0', 'server-xy2': '1'},
"dict3" : {'server-xz1': '0', 'server-xz2': '0'} }

如果是,你可以这样做 -

count = sum( [len(d) for d in dictionary.values()] )

您需要使用set()函数来统计服务器:

print(len(set(dict.keys())))