Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python (2.x) list / sublist selection -1 weirdness

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

ls[500:-1] 

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

ls[0:10] 

I get a list containing also the tenth element (so the selector ought to be inclusive), why then does it not work for -1.

I can of course do ls[500:] or 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.

like image 763
Matti Lyra Avatar asked Aug 10 '10 16:08

Matti Lyra


1 Answers

In list[first:last], last is not included.

The 10th element is ls[9], in ls[0:10] there isn't ls[10].

like image 61
dugres Avatar answered Sep 20 '22 21:09

dugres