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

Amaury Forgeot d'Arc amauryfa at gmail.com
Tue Jun 25 16:05:14 CEST 2013


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/6f655bf0/attachment-0001.html>


More information about the Python-ideas mailing list