So I've been playing around with python and noticed something that seems a bit odd. The semantics of
-1 in selecting from a list don't seem to be consistent.
So I have a list of numbers
ls = range(1000)
The last element of the list if of course
ls[-1] but if I take a sublist of that so that I get everything from say the midpoint to the end I would do
but this does not give me a list containing the last element in the list, but instead a list containing everything UP TO the last element. However if I do
I get a list containing also the tenth element (so the selector ought to be inclusive), why then does it not work for
I can of course do
ls[500:len(ls)] (which would be silly). I was just wondering what the deal with -1 was, I realise that I don't need it there.
last is not included.
The 10th element is
ls[0:10] there isn't
If you want to get a sub list including the last element, you leave blank after colon:
>>> ll=range(10) >>> ll [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> ll[5:] [5, 6, 7, 8, 9] >>> ll[:] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]