2009-12-17 58 views

回答

4
>>> x = {0: {'count': 1000}, 1: {'count': 2000}} 
>>> sum(v['count'] for v in x.values()) 
3000 
+1

使用.itervalues()可以節省一些內存開銷,因爲.values()會爲這些值構建一個新列表。 – 2009-12-17 07:59:26

0
sum(i['count'] for i in d.values()) 
4

int值中較短的一個:

sum(d[k]['count'] for k in d) 
+0

它可以保存幾個字符,但由於您必須查找每個鍵而不是直接迭代值,所以速度較慢。 – 2009-12-17 07:58:24

+0

從技術上來說,例如它的速度快了5%:)但是你說得對,對於大型字典而言,速度要慢15%左右。 – 2009-12-17 23:05:50

0

如何使用python減少?

reduce(lambda x,y: x+y, [v['count'] for v in a.values()])