result = [{key: (d1.get(key, 0) + d2.get(key, 0)) for key in set(d1.keys()) |
    set(d2.keys())} for d1, d2 in zip(var1, var2)]
print(result)
[{'a': 4, 'b': 4}, {'h': 8, 'c': 3, 'd': 10}, {'c': 7, 'e': 8, 'd': 10}]
Как объединить два списка, содержащих словарь с одинаковыми ключами?