PEP 322: Reverse Iteration (REVISED, please comment)

Werner Schiendl n17999950.temp.werner at neverbox.com
Wed Oct 29 14:01:40 EST 2003


Raymond Hettinger wrote:

> 
> Better name are welcome!
> 
> Moving it somewhere else is not open.  It is proposed as a builtin for a
> reason -- it is a core looping tool like zip() or enumerate() and it is meant
> to simplify rather than complicate code.
> 

Well, that of course limits the choice :-)

Let's see what's available:

inreverse --

   seems a little clumsy when used in a "for item in inreverse(seq):",
   which is probably the place where it's used most often.

   The term itself seems reasonable to me.

ireverse --

   IMHO that would suggest it belonged into itertools - which it
   according to your explanatation does NOT.

   So I'd rather 'reserve' that term if one day something there
   is needed (or end up with iireverse  ;-)

   To my non-native-english eyes it's also a bit ugly.

   And concerning simplicity, how to explain a newby the "i"
   and why it's with "reverse" but not with "enumerate".

reverse --

   According to the PEP this is not for discussion, although I'm
   with John Roth in that I think this were worth some more
   discussion.

   I do not use Python too much (yet as often as possible, but
   "job work" is done with something else.
   Still I cannot imagine why anyone should confuse a method of
   a list object (that does return None) with a builtin function
   that returns "something" to walk through an arbitrary sequence
   in reverse.

   This one fits IMHO also best to the most-direct relatives you
   mention in your post (zip, enumerate) in that it is a verb
   without any prefix.

backwards --

   I cannot remember having seem that term in any library or
   programming language, it feels strange to me.

   But it's still correct, a verb, fits the style IMHO.
   Like it more than ireverse.


So my order from most-prefered to least-prefered is:

   reverse

   inreverse

   backwards

   ireverse

> 
> The challenge with a PEP this simple is that experts feel this
> overpowering urge to apply all their know-how and transform
> in to something other than a clean, fast, simple solution.
> 

I'd not actually claim myself a Python expert ;-)


best regards

Werner





More information about the Python-list mailing list