我有一个带有嵌套字典的defaultdict,我试图从中获取值的总和。但我一直在努力寻找一种方法来做到这一点。
在下面的示例中,我尝试计算所有count
值:
from collections import defaultdict
x = defaultdict(dict)
x['test1']['count'] = 14
x['test4']['count'] = 14
x['test2']['count'] = 14
x['test3']['count'] = 14
print x
""" methods I've tried """
# print x.values()
# print sum(x for y in x.values() for x in y['count'].iteritems())
# print sum(x.itervalues())
我尝试过的上述方法(在许多不同的变体中)并没有提供所需的结果。
关于我可能出错的任何线索或帮助?
答案 0 :(得分:1)
只需ab -n 1000 -c 100 http://localhost:3000/render/
即可。
答案 1 :(得分:1)
如果你必须计算'count'
密钥的总和,你可以这样做:
>>> sum(y['count'] for y in x.values())
56
如果有可能还有其他键(除了'count'),并且你想要计算所有值的总和,那么你必须这样做:
>>> sum(z for y in x.values() for z in y.values())
56
# OR,
# import itertools
# sum(itertools.chain(*[y.values() for y in x.values()]))
答案 2 :(得分:1)
如果要对所有子词典的值求和,请求和两次:
>>> sum(sum(y.values()) for y in x.values())
56