On 18Dec2016 16:21, BartC <b...@freeuk.com> wrote:
On 18/12/2016 10:59, Paul Götze wrote:
there is a nice short article by E. W. Dijkstra about why it makes sense
to start numbering at zero (and exclude the upper given bound) while
slicing a list. Might give a bit of additional understanding.

http://www.cs.utexas.edu/users/EWD/ewd08xx/EWD831.PDF

(This from somebody who apparently can't use a typewriter?!)

I don't know if the arguments there are that convincing. Both lower bounds of 0 and 1 are useful; some languages will use 0, some 1, and some can have any lower bound.

0 makes a lot of arithmetic simpler if you think of the index as the offset from the start of the array/list.

But a strong argument for using 1 is that in real life things are usually counted from 1 (and measured from 0).

Shrug. Yep. But again, if you visualise the index as an offset (== "measure") it is a natural fit.

Another little anomaly in Python is that when negative indices are used, it suddenly switches to 1-based indexing! Or least, when -index is considered:

Not if you consider it to count from the range end. So range 0:5 (which in Python includes indices 0,1,2,3,4); index -1 places you at 5-1 ==> 4, which is consistent. Again, this makes a lot of the arithmetic simpler.

See sig quote for another example of a python style range: birth to death.

Cheers,
--
Cameron Simpson <c...@zip.com.au>

There's no need to worry about death, it will not happen in your lifetime.
       - Raymond Smullyan
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to