2016-07-10 5 views
-2

('foo',1),('bar',2),('foo',2),('bar',3)のように、私はそれぞれの値またはa[1]の合計と一緒に各一意キーまたはa[0]をしたいaタプルのリストの合計によってグループ化され、そう:{'foo': 3, 'bar': 5} - W/Oこれを行うためのいくつかの簡単な方法itertoolsのpythonレシピ:タプル

+1

1.クイックものと比較し... itertoolsせずにトリックを行う必要があり、次の? 2.なぜitertoolsですか? – jonrsharpe

+0

次回は[python recipe:](http://stackoverflow.com/q/38233057/3001761)と書いてあります。 http://meta.stackexchange.com/q/19190/248731に注意してください。 – jonrsharpe

答えて

0

pairs = [('foo',1),('bar',2),('foo',2),('bar',3)] 

def sum_pairs(pairs): 
    sums = {} 
    for pair in pairs: 
    sums.setdefault(pair[0], 0) 
    sums[pair[0]] += pair[1] 
    return sums.items() 

print sum_pairs(pairs) 
関連する問題