Thoughts on PEP284
Sean Ross
sross at connectmail.carleton.ca
Mon Sep 22 22:41:04 EDT 2003
More information about the Python-list mailing list
Mon Sep 22 22:41:04 EDT 2003
- Previous message (by thread): Thoughts on PEP284
- Next message (by thread): Thoughts on PEP284
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
"Stephen Horne" <$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$$$$$$.co.uk> wrote in message news:5j4vmvgnr5v68f6lupbpgt0mop6l7ps2sn at 4ax.com... > > Some more looping thoughts - this time on integer for loops... Hi. How about the following: for i in 0...10: # suite where 0...10 works something like xrange(10). So you get i=0 then 1 then 2 ... then 9. To get 0 thru 10, inclusive, you'd need to say 0...11 (Ruby has 0..10, but I doubt that'd pass muster here). This suggestion, unfortunately, does not provide step control and I can't think of a clean way to introduce it other than via keyword: for i in 0...10 by 2: # suite which will also be shot down, I suspect, as would for i in 0 to 10 by 2: for i in 0 thru 10 by 2: etc. Perhaps generators could grow a by() method so that you could control how you step thru the iteration, something like this: for i in 0...10.by(2): # suite Whatever. Leaving the ellipsis aside, you could add methods to int/long (also ala Ruby), for i in 0.upto(10): # suite # to count down for i in 10.downto(0): # suite where the methods upto() and downto() are generators with an optional step argument, i.e. def upto(self, stop, step=1): # suite And, after all of that, you could say, well we already have for i in range(10): # suite If only range was a generator function...but that'd break code, and you can use xrange(), and some day it will(may) be, and ..., and ..., yada, yada, yada. Whatever.
- Previous message (by thread): Thoughts on PEP284
- Next message (by thread): Thoughts on PEP284
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list