2016-08-03 27 views
-4

操作這是我的名單:在列表的列表中的元素在python

volume = [['1.986', '3000'], ['1.987', '2000'], ['1.986', '700'],['1.987', '4000']] 

我怎樣才能得到成交量的總和[1]當音量[0]是一樣的價格?

results = [['1.986', '3700'], ['1.987', '6000']] 
+0

你知道一本字典做什麼? – Jasper

+0

[Python Groupby語句]的可能重複(http://stackoverflow.com/questions/15636008/python-groupby-statement) – TessellatingHeckler

回答

2

詞典將是一個很好的數據結構在這裏使用。默認的dict保存唯一的字符串作爲鍵,並假定空值爲0,因爲我將它設置爲基於int。

from collections import defaultdict 
d = defaultdict(int) 
for v in volume: 
    d[v[0]] += int(v[1]) 
print d 

如果你需要一個名單之後,你可以使用列表理解:

list_version = [[key, value] for key,value in d]

+2

好的答案,謝謝。儘管如此,我會在'for'循環中解壓縮元組:',價格,數量,體積:...' – NPE

+0

感謝您的幫助! – egariM