2014-04-09 30 views
2

我有這樣的數組數組。 我想總結特定FILD(如第三列表)使用zip的數組的總和值

data = [[d, 408.56087701, 87.26907024], 
     [b, 277.95015117, 75.19386881], 
     [b, 385.41416264, 84.73488504], 
     [b, 380.31630662, 71.23504808], 
     [b, 392.10729207, 83.80720357], 
     [b, 399.70877373, 76.59640833], 
     [b, 350.93124656, 79.34979059], 
     [b, 330.09702335, 79.37166555]] 

我想這一點,但我已經在列表中只選擇3日(第一場是字符串)

data = [sum(x) for x in zip(*data)] 
它產生的問題

我必須添加條件以顯示x是子列表中的第三個。

+0

你似乎缺少一些逗號。我編輯了他們。 – kojiro

回答

4
the_sum = sum(x[2] for x in data) 

或者,如果你想知道爲什麼你認爲zip(*...)似乎是擺在首位的好主意:

the_sum = sum(zip(*data)[2]) 

雖然這是更浪費內存

+0

謝謝!你可以看看這個,我想在我總結之前做過濾http://stackoverflow.com/questions/22974502/how-to-use-sum-values-of-matrix-with-filter – user3378649