Nick Coghlan writes: > Right now, getting the "terminate when false" behaviour requires the > use of takewhile: > > {itertools.takewhile(lambda x: x < 1000000, itertools.count(1000)}
My objection to this interpretation is different from Guido's (I think): if you're really thinking in terms of math, sets are *unordered*, and therefore "takewhile" doesn't guarantee exhaustion of the desired subset. Another way to put this is that in order to make it harder to get bit by subtle infloops, you're going to give more teeth to "Miller time came early"[1] bugs. This may be a bigger issue than some may think, because sets and dicts are iterable, and order of iteration is arbitrary (at best history- dependent). Footnotes: [1] American beer commercial claiming that real men go to drink beer after a full day's work. _______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/