<div dir="ltr">I find that about 90% of the time I want want to zip iterators together, I expect them to be the same length and want to throw an exception if they aren't.  Yet there is not currently a solution for this in the standard library for this, and as a result I always have to take this function everywhere I go:<div><br></div><div><div><br></div><div>    def zip_equal(*iterables):</div><div>        """</div><div>        Zip and raise exception if lengths are not equal.</div><div>    </div><div>        Taken from solution by Martijn Pieters, here:</div><div>        <a href="http://stackoverflow.com/questions/32954486/zip-iterators-asserting-for-equal-length-in-python">http://stackoverflow.com/questions/32954486/zip-iterators-asserting-for-equal-length-in-python</a></div><div>    </div><div>        :param iterables: Iterable objects</div><div>        :return: A new iterator outputting tuples where one element comes from each iterable</div><div>        """</div><div>        sentinel = object()</div><div>        for combo in zip_longest(*iterables, fillvalue=sentinel):</div><div>            if any(sentinel is c for c in combo):</div><div>                raise ValueError('Iterables have different lengths.  Iterable(s) #{} (of 0..{}) ran out first.'.format([i for i, c in enumerate(combo) if c is sentinel], len(combo)-1))</div><div>            yield combo</div></div><div><br></div><div>Would anybody object to adding this to the standard library for Python 3.8?</div><div><br></div><div><br></div></div>