code: def zip_dict(*dicts):
    
    for key in set(itertools.chain(*dicts)):  # set merge all keys
      # Will raise KeyError if the dict don't have the same keys
      yield key, tuple(d[key] for d in dicts)
docs: Iterate over items of dictionaries grouped by their keys.