def zip_dicts(*dicts):
    """Yields tuples like (key, (val1, val2, ...))
       for each common key in all given dicts."""
    if len(dicts) < 1:
        raise TypeError('zip_dicts expects at least one argument')
    keys = set.intersection(*map(set, dicts))
    for key in keys:
        yield key, tuple(d[key] for d in dicts)
Yields tuples like (key, (val1, val2, ...))
       for each common key in all given dicts.
funcy/colls.py