Something like this?
dict1 = {"a": (2, 2),
"b": (3, 2),
"c": (5, 6),
"d": (1, 1)}
dict2 = {"f": (3, 1),
"g": (1, 4)}
def add_it_up(d1, d2):
d3 = {}
for a, b in zip(d1.items(), d2.items()):
a_key, a_values = a
b_key, b_values = b
d3[f'{a_key}+{b_key}'] = (a_values[0] + b_values[0], a_values[1] + b_values[1])
return d3
print(add_it_up(dict1, dict2))
I have no idea what you want for output so I made a new dictionary making keys from the input dictionaries (a+f, b+g).
This would be a little easier using lists and a bit less odd. I know that dictionaries now maintain their order, but I think it strange to think of dictionaries as having order. You use keys in dictionaries. Lists on the other hand can only be referenced using their order. Maybe just a bias I need to get over.