On Thu, 10 Feb 2005 05:38:54 +0000, Ray Gibbon wrote: > e.g. 2 > | while new_data, environment = get_more_data(source): > | process_data(new_data, environment) > > is something I'm equally likely to want to do, but I can't express it's > meaning.
I think we'd usually phrase that as for new_data, environment in data(source): process_data(new_data, environment) and if data(source) isn't already an iterator of one form or another (a list, a generator, etc.), you can easily write it to be one; most of the time it already is. I use while, but much, much more rarely than for, even for things I'd write as "while" in other languages, and the majority of the "while"s are infinite generators, e.g.: def counter(): i = 0 while True: yield i i += 1 -- http://mail.python.org/mailman/listinfo/python-list