python配方:按元组和分组

2024-04-25 14:49:25 发布

您现在位置:Python中文网/ 问答频道 /正文

一个元组列表a就像('foo',1),('bar',2),('foo',2),('bar',3),我想要每个唯一的键或a[0]以及每个值或a[1]的总和,所以:{'foo': 3, 'bar': 5}——一些不带itertools的快速方法


Tags: 方法列表foobar元组itertools总和
1条回答
网友
1楼 · 发布于 2024-04-25 14:49:25

下面的方法应该可以在没有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)

相关问题 更多 >