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

jimjhb at aol.com jimjhb at aol.com
Tue Jun 25 21:22:27 CEST 2013





>-----Original Message-----
>From: Stephen J. Turnbull <stephen at xemacs.org>
>To: jimjhb <jimjhb at aol.com>
>Cc: mertz <mertz at gnosis.cx>; python-ideas <python-ideas at python.org>
>Sent: Tue, Jun 25, 2013 3:07 pm
>Subject: Re: [Python-ideas] Is this PEP-able? for X in ListY while conditionZ:


>jimjhb at aol.com writes:

 >> Main issue seems to be that programmers "shouldn't" shy away from
 >> 'break' (I can kind of see the argument both ways) but they do.

>I guess I just hang around in the wrong company, because I don't see
>it.  Where can I find these programmers who shy away from these
>constructs?
Here:
http://www.csee.umbc.edu/courses/201/spring13/standards.shtml

 >> I think for deserves a 'while' because it is really sparing in its
 >> implementation (no index, no explicit bounds check) and so deserves
 >> a clean way to prematurely terminate the loop if needed.

>But this idea lacks coherence, in that 'break' statement syntax is far
>more expressive than a 'while' clause in the 'for' statement can be.
>The 'while' condition needs to satisfy expression syntax and be a
>function of the loop variable.
I didn't think the while had to be a function of the loop variable.
end_condition = False
for X in ListY while end_condition is False:
>But 'break' can be used at the top of
>the loop, bottom, or elsewhere while the new syntax can only implement
>one of those.  And the 'break' condition need not be a function of the
>loop variable.

>On the other hand, in list comprehensions and generator expressions,
>the syntactic and functional restrictions on the condition need to be
>satisfied anyway.

By the way:

 > David Mertz writes:

 >> attendees = {guest:guest.plus_N for guest in waiting_list while
 >> not room_full()}
 >>
 >> This would actually produce the same result as:
 >>
 >> attendees = {guest:guest.plus_N for guest in waiting_list if not
 >> room_full()}

Not necessarily.  waiting_list might be an infinite iterator.

Steve

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


More information about the Python-ideas mailing list