[Python-ideas] Is this PEP-able? for X in ListY while conditionZ:

jimjhb at aol.com jimjhb at aol.com
Tue Jun 25 15:35:52 CEST 2013


Syntax:





for X in ListY while conditionZ:


The 'for' loop would proceed as long as conditionZ remains true.


The motivation is to be able to make use of all the great aspects of the python 'for' (no indexing or explicit
end condition check, etc.) and at the same time avoiding a 'break' from the 'for'.  


(NOTE:  Many people are being taught to avoid 'break' and 'continue' at all costs, so they instead convert
the clean 'for' into a less-clean 'while'.  Or they just let the 'for' run out.  You can argue against this teaching
practice (at least for Python) but that doesn't mean it's not prevalent and prevailing.)


[People who avoid the 'break' by functionalizing an inner portion of the loop are just kidding themselves and making their own code worse, IMO. Takewhile from itertools also works, but that's clumsy and wordy as well.]


I'm not super familiar with CPython, but I'm pretty sure I could get this up and working without too much effort.


Please note that I don't feel the answer to this is 'just use break'.  Programmers are now being taught to avoid 'break' and 'continue' as if they were 'goto's.  The result (now) is that people are avoiding the 'for' (with its GREAT properties) because they can't break out of it.


Comments and Questions welcome.


Thanks.  


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20130625/7554a706/attachment.html>


More information about the Python-ideas mailing list