[Python-Dev] PEP 3142: Add a "while" clause to generator expressions

python-3000 at udmvt.ru python-3000 at udmvt.ru
Tue Jan 20 15:18:24 CET 2009

On Mon, Jan 19, 2009 at 10:10:00AM -0500, Gerald Britton wrote:
> Please find below PEP 3142: Add a "while" clause to generator
> expressions.  I'm looking for feedback and discussion.
>       g = (n for n in range(100) while n*n < 50)

May I suggest you this variant?

	def raiseStopIteration():
		raise StopIteration

	g = (n for n in range(100) if n*n < 50 or raiseStopIteration())

Well, there are more characters...

But it is not using any syntax changes and does not require any approval
to be functional. Yet it is as fast as the proposed variant, does not require
modules and, I hope, will not confuse you or anyone else.

Alexey G. Shpagin

More information about the Python-Dev mailing list