2014-12-31 75 views
0

我有以下列表,它由多个字典组成(为了简单起见,在这种情况下是2个)。汇总python字典

bz_list = [{'ID': 't1', 'WordCount':2},{'ID': 't2','WordCount':5}] 

在Python中,我想在整个列表中总结'WordCount'字段。我期待这样的工作。

[sum(item['WordCount']) for item in bz_list] 

但是,我收到以下错误消息:TypeError:'int'对象不可迭代。

关于如何实现此目标的任何想法?先谢谢你。

  • 比尔

回答

4

sum()应该根据字数来完成(迭代器),而不是在一个字计数(INT):

>>> bz_list = [{'ID': 't1', 'WordCount':2},{'ID': 't2','WordCount':5}] 
>>> sum(x['WordCount'] for x in bz_list) 
7 
2

如何总结列表,而不是每一个会员:

sum([item['WordCount'] for item in bz_list]) 

sum expect可以添加一个可迭代的项目。

+1

'sum'不仅接受一个列表,而且还有任何可迭代的。 – falsetru

+0

@falsetru谢谢,修正 –