在嵌套字典中计数 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())))
我有一个调用 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())))