Suppose I've the following list:
list1 = [1, 2, 33, 51] ^ | indices 0 1 2 3 How do I obtain the last index, which in this case would be 3, of that list?
18 Answers
len(list1)-1 is definitely the way to go, but if you absolutely need a list that has a function that returns the last index, you could create a class that inherits from list.
class MyList(list): def last_index(self): return len(self)-1 >>> l=MyList([1, 2, 33, 51]) >>> l.last_index() 3 0The best and fast way to obtain the content of the last index of a list is using -1 for number of index , for example:
my_list = [0, 1, 'test', 2, 'hi'] print(my_list[-1]) Output is: 'hi'.
Index -1 shows you the last index or first index of the end.
But if you want to get only the last index, you can obtain it with this function:
def last_index(input_list:list) -> int: return len(input_list) - 1 In this case, the input is the list, and the output will be an integer which is the last index number.
1Did you mean len(list1)-1?
If you're searching for other method, you can try list1.index(list1[-1]), but I don't recommend this one. You will have to be sure, that the list contains NO duplicates.
I guess you want
last_index = len(list1) - 1 which would store 3 in last_index.
You can use the list length. The last index will be the length of the list minus one.
len(list1)-1 == 3 2all above answers is correct but however
a = []; len(list1) - 1 # where 0 - 1 = -1 to be more precisely
a = []; index = len(a) - 1 if a else None; if index == None : raise Exception("Empty Array") since arrays is starting with 0
2a = ['1', '2', '3', '4'] print len(a) - 1 3 2list1[-1] will return the last index of your list.
If you use minus before the array index it will start counting downwards from the end. list1[-2] would return the second to last index etc.
Important to mention that -0 just returns the "first" (0th) index of the list because -0 and 0 are the same number,
1