, itertools.groupby( , , ):
data = [
[0.2, 'A'],
[0.1, 'A'],
[0.3, 'A'],
[0.3, 'B'],
[0.2, 'C'],
[0.5, 'C'],
]
from itertools import groupby
summary = dict((k, sum(i[0] for i in items))
for k,items in groupby(data, key=lambda x:x[1]))
print summary
:
{'A': 0.60000000000000009, 'C': 0.69999999999999996, 'B': 0.29999999999999999}