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

jimjhb at aol.com jimjhb at aol.com
Tue Jun 25 17:17:18 CEST 2013


http://www.csee.umbc.edu/courses/201/spring10/standards.shtml


Ugh!


-Jim



-----Original Message-----
From: Amaury Forgeot d'Arc <amauryfa at gmail.com>
To: jimjhb <jimjhb at aol.com>
Cc: Python-Ideas <python-ideas at python.org>
Sent: Tue, Jun 25, 2013 10:05 am
Subject: Re: [Python-ideas] Is this PEP-able? for X in ListY while conditionZ:



Hi,


2013/6/25  <jimjhb at aol.com>


Syntax:





for X in ListY while conditionZ:


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





It seems that itertools.takewhile does the same thing:
http://docs.python.org/2/library/itertools.html#itertools.takewhile

It will probably require a lambd
 





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.)





Ouch! do you have pointers?
Maybe we should upgrade these teaching practices (or teachers) instead.


 



[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.  



_______________________________________________
Python-ideas mailing list
Python-ideas at python.org
http://mail.python.org/mailman/listinfo/python-ideas







-- 
Amaury Forgeot d'Arc


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


More information about the Python-ideas mailing list