python配方:按元组总和分组

时间:2016-07-10 18:22:14

标签: python

a元组列表('foo',1),('bar',2),('foo',2),('bar',3),我想要每个唯一键或a[0]以及每个值的总和或a[1],所以:{{1} - 一些快速的方法来做这个没有{'foo': 3, 'bar': 5}

1 个答案:

答案 0 :(得分:0)

如果没有itertools,以下应该可以做到......

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)