On Mon, Jan 19, 2009 at 9:10 AM, Gerald Britton <[email protected]>wrote:
> g = (n for n in range(100) if n*n < 50)
>
> would yield 0, 1, 2, 3, 4, 5, 6 and 7, but would also consider
> the numbers from 8 to 99 and reject them all since n*n >= 50 for
> numbers in that range. Allowing for a "while" clause would allow
> the redundant tests to be short-circuited:
>
Instead of using a "while" clause, the above example could simply be
rewritten:
g = (n for n in range(8))
I appreciate that this is a toy example to illustrate the syntax. Do you
have some slightly more complex examples, that could not be rewritten by
altering the "in" clause?
--
Daniel Stutzbach, Ph.D.
President, Stutzbach Enterprises, LLC <http://stutzbachenterprises.com>
_______________________________________________
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com