On 6/25/2013 4:58 PM, jimjhb@aol.com wrote:
I saw your thread. Thank you for summarizing the result! It looks like the best alternative is itertools.takewhile, but I don't like it.... :(
Ugh! The best alternative is "break." The people advocating not using break are doing so for "readability" reasons. I would be very surprised if they thought takewhile was more readable than a break statement. Slavishly following mindless rules is not the way to write good programs, and it isn't the way to teach people to write good programs. Resist! :) --Ned.
-Jim
-----Original Message----- From: Wolfgang Maier <wolfgang.maier@biologie.uni-freiburg.de> To: python-ideas <python-ideas@python.org> Sent: Tue, Jun 25, 2013 4:51 pm Subject: Re: [Python-ideas] Is this PEP-able? for X in ListY while conditionZ:
Hi, I suggested the very same 'while in a comprehension/generator expression' back in January: http://mail.python.org/pipermail/python-ideas/2013-January/018969.html
There were many very useful responses suggesting alternative syntax (that I'm using now). The proposal itself was dismissed with the logic that comprehensions can currently be translated directly into explicit for loops, e.g.:
[x for x in items if x!=0]
equals:
result=[] for x in items: if x!=0: result.append(x)
This equivalence is considered *very* important and the while statement would break it:
[x for x in items while x>0]
does *not* translate into:
for x in item: while x>0: result.append(x)
So, as long as you can't come up with syntax that translates properly, there's no chance of getting it accepted.
Best, Wolfgang
_______________________________________________ Python-ideas mailing list Python-ideas@python.org http://mail.python.org/mailman/listinfo/python-ideas
_______________________________________________ Python-ideas mailing list Python-ideas@python.org http://mail.python.org/mailman/listinfo/python-ideas