A collections.Counter
sums the way you want:
from collections import Counter
with open('/tmp/myfile.txt') as f:
d = sum((Counter({k: float(v) for k, v in [line.split(':')]}) for line in f), Counter())
d = dict(d)
Note that a counter instance is already a subclass of dict, so the line d = dict(d)
may not really be necessary depending on your use case.