from functools import reduce
def merge_many_dics(*dicts):
    common_keys = reduce(lambda a, b: a & b, (d.keys() for d in dicts))
return {key: tuple(d[key] for d in dicts) for key in common_keys}
merge_many_dics({(1): 2}, {(1): 3}, {(1): 4, (2): 5})
Function with dictionaries as optional arguments - Python