On 11/21/2014 05:47 AM, Raymond Hettinger wrote: > > Also, the proposal breaks a reasonably useful pattern of calling > next(subiterator) > inside a generator and letting the generator terminate when the data stream > ends. > > Here is an example that I have taught for years: > > def [...] > it1 = iter(iterable1) > it2 = iter(iterable2) > while True: > v1 = next(it1) > v2 = next(it2) > yield v1, v2
Stepping back a little and looking at this code, sans header, let's consider the possible desired behaviors: - have an exact match-up between the two iterators, error otherwise - stop when one is exhausted - pad shorter one to longer one Two of those three possible options are going to require dealing with the StopIteration that shouldn't escape -- is the trade of keeping one option short and simple worth the pain caused by the error-at-a-distance bugs caused when a StopIteration does escape that shouldn't have? -- ~Ethan~
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com