I do not recommend this since it results a messy design:
class MyDict(dict):
def __setitem__(self, key, value):
if key in self:
super().__setitem__(key, self[key] + value)
else:
super().__setitem__(key, value)
>>> d = MyDict({'red': 6, 'blue': 5})
>>> d['red'] = 12
>>> d
{'red': 18, 'blue': 5}
>>> d['blue']
5
>>> d['red']
18
>>> d['red'] = 8
>>> d
{'red': 26, 'blue': 5}
EDIT: I see you changed the initial object...
>>> mydict = [{"red":6}, {"blue":5}, {"red":12}]
>>> sum(d.get('red', 0) for d in mydict)
18