[Python-3000] have zip() raise exception for sequences of different lengths (original) (raw)

Raymond Hettinger rhettinger at ewtllc.com
Thu Aug 31 00:41:08 CEST 2006


Perhaps a compromise could be to add a keyword parameter to request such an exception? (We could even add three options: truncate, pad, error, with truncate being the default, and pad being the old map() and filter() behavior.)

FWIW, I intend to add an itertool called izip_longest() which allows a pad value to be specified. In deciding to accept that feature request, I put a great deal of thought and research into the idea. Along the way, I looked at other languages and found both truncating and padding versions of zip but did not find any version that raised an exception.
IMO, such a provision would foul the waters and complicate the use of an otherwise simple function.

Until now, there have been zero requests for zip() to have exception raising behavior.

For Python 3k, I recommend:

The first covers 99% of use cases. The second covers a handful of situations that are otherwise difficult to deal with. The third is a YAGNI.

Raymond



More information about the Python-3000 mailing list