2014-12-31 109 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謝謝,修正 –