-2
元组a
像('foo',1),('bar',2),('foo',2),('bar',3)
,我想每一个独特的密钥或a[0]
每个值或a[1]
的总和沿着名单的总和分组,所以:{'foo': 3, 'bar': 5}
- 这样做W/O的一些快捷方式itertools
?蟒蛇配方:由元组
元组a
像('foo',1),('bar',2),('foo',2),('bar',3)
,我想每一个独特的密钥或a[0]
每个值或a[1]
的总和沿着名单的总和分组,所以:{'foo': 3, 'bar': 5}
- 这样做W/O的一些快捷方式itertools
?蟒蛇配方:由元组
下应该做的伎俩没有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)
1.快速相比呢? 2.为什么不使用itertools? – jonrsharpe
下次你发现自己写了[python recipe:](http://stackoverflow.com/q/38233057/3001761),先自己做点什么。并注意http://meta.stackexchange.com/q/19190/248731 – jonrsharpe