PEP 276 -- What else could iter(5) mean?
Cromwell, Jeremy
jcromwell at ciena.com
Sat Mar 2 19:53:10 EST 2002
More information about the Python-list mailing list
Sat Mar 2 19:53:10 EST 2002
- Previous message (by thread): PEP 276 -- What else could iter(5) mean?
- Next message (by thread): PEP 276 -- What else could iter(5) mean?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
If python was to allow "for i in 5:", is there any other meaning that would be appropriate besides the one detailed in PEP 276? Without trotting out ugly examples, it is cleaner than many of the current features in python. I'm still a relative newbie, but I remember it being a bit jarring to need to use range() just to iterate through numbers. It's so simple to explain and understand, that I doubt that it would be confusing. Here's my clumsy rewording of the tutorial: 4.3 For x in integer, and the range() Function When given an integer rather than a sequence, the for statement iterates over the numbers from 0 up to (but not including) the given number: >>> for i in 3: ... print i, i*3 0, 0 1, 3 2, 6 The given end point is never part of the generated list; for x in 10 iterates through a list of 10 values, exactly the legal indices for items of a sequence of length 10. To iterate over the indices of a sequence, use len() as follows: >>> a = ['Mary', 'had', 'a', 'little', 'lamb'] >>> for i in len(a): ... print i, a[i] ... 0 Mary 1 had 2 a 3 little 4 lamb If you do need to iterate over a more complex sequence of numbers, the built-in function range() comes in handy. It generates lists containing arithmetic progressions. You supply the start and finish and it produces a list from start up to finish, incrementing by one: >>> range(5, 10) [5, 6, 7, 8, 9] It is possible to specify a different increment (even negative; sometimes this is called the `step'): >>> range(0, 10, 3) [0, 3, 6, 9] >>> range(-10, -100, -30) [-10, -40, -70] Calling range() with one number produces the same list that a for statement iterates over for that number: >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] --- end tutorial --- I like this proposal and would like to see it adopted. If others like it, they should speak up since about all we hear from are the detractors. Jeremy Cromwell ...now let's see..<PrtScnSysRq>...<PgUp>...Hmmm, where's that <wink> key?
- Previous message (by thread): PEP 276 -- What else could iter(5) mean?
- Next message (by thread): PEP 276 -- What else could iter(5) mean?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list