Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > Re: Is this PEP-able? fwhile

Thread Tools

Re: Is this PEP-able? fwhile

Joshua Landau
Posts: n/a
On 24 June 2013 20:52, <(E-Mail Removed)> wrote:
> Syntax:
> fwhile X in ListY and conditionZ:
> The following would actually exactly as: for X in ListY:
> fwhile X in ListY and True:
> fwhile would act much like 'for', but would stop if the condition after the
> 'and' is no longer True.
> The motivation is to be able to make use of all the great aspects of the
> python 'for' (no indexing or explict
> end condition check, etc.) and at the same time avoiding a 'break' from the
> 'for'.

There is one good reason not to use breaks: itertools.
I often prefer a for-over-a-properly-constrained-iterable to a
for-with-a-break, but there's no real reason to ever prefer a while.

That said, why add this to the syntax when there's already
functionality that gives you what you want? Just use
itertools.takewhile as Ian Kelly says.

> (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
> (at least for Python) but that doesn't mean it's not prevalent and
> prevailing.)

We shouldn't make a language around "people are taught the language
badly - let us accommodate for their bad practices!"

> [People who avoid the 'break' by functionalizing an inner portion of the
> loop are just kidding themselves and making
> their own code worse, IMO.]
> I'm not super familiar with CPython, but I'm pretty sure I could get this up
> and working without too much effort.
> The mandatory 'and' makes sense because 'or' would hold the end value valid
> (weird) and not accomplish much.
> The condition itself could of course have multiple parts to it, including
> 'or's.
> It's possible the name 'fwhile' is not optimal, but that shouldn't affect
> the overall merit/non-merit of the concept.

"Possible"? It's more than just possible, *wink*.

> Comments and Questions welcome.

Reply With Quote

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Is this PEP-able? fwhile Python 2 06-26-2013 07:40 AM
Re: Is this PEP-able? fwhile Ian Kelly Python 7 06-25-2013 06:04 AM
Re: Is this PEP-able? fwhile Fábio Santos Python 0 06-24-2013 08:34 PM
Re: Is this PEP-able? fwhile Ian Kelly Python 0 06-24-2013 08:19 PM
Really throwing this out there - does anyone have a copy of my oldDancer web browser? Python 1 04-10-2013 03:32 PM