defaultdict делает это довольно легко:
import collections
items = [['foo',1],['baz',1],['foo',0],['bar',3],['foo',1],['bar',2],['baz',2]]
totals = collections.defaultdict(int)
for key, value in items:
totals[key] += value
print totals
При запуске это дает
defaultdict(<type 'int'>, {'bar': 5, 'foo': 2, 'baz': 3})
Если вы хотите вывод списка, просто потяните элементыиз словаря
print totals.items()
, и вы получите
[('bar', 5), ('foo', 2), ('baz', 3)]
Если вы действительно хотите список списков в конце,
print [list(item) for item in totals.items()]
, который дает вам
[['bar', 5], ['foo', 2], ['baz', 3]]