def zipWith(func, *iterables):
    """zipWith: zip the iterables and apply func to each of them

    func: the function to apply
    *iterables: the iterables
    """
    return map(lambda args: func(*args), zip(*iterables))