If I have this list with 10 elements:
>>> l = [1,2,3,4,5,6,7,8,9,0]
Why will l[10] return an IndexError, but l[-1] returns 0?
It's because l[-1] is equal to l[len(l)-1], similarly l[-2] is equal to l[len(l)-2]
l[-1]
l[len(l)-1]
l[-2]
l[len(l)-2]
>>> lis=[1,2,3,4,5] >>> lis[-1],lis[-2],lis[-3] (5, 4, 3) >>> lis[len(lis)-1],lis[len(lis)-2],lis[len(lis)-3] (5, 4, 3)