How do I get the last element of a list? Which way is preferred?
alist[-1]
alist[len(alist) - 1]
Best Answer
some_list[-1] is the shortest and most Pythonic.
In fact, you can do much more with this syntax. The some_list[-n] syntax gets the nth-to-last element. So some_list[-1] gets the last element, some_list[-2] gets the second to last, etc, all the way down to some_list[-len(some_list)], which gives you the first element.
You can also set list elements in this way. For instance:
>>> some_list = [1, 2, 3]
>>> some_list[-1] = 5 # Set the last element
>>> some_list[-2] = 3 # Set the second to last element
>>> some_list
[1, 3, 5]
Note that getting a list item by index will raise an IndexError if the expected item doesn't exist. This means that some_list[-1] will raise an exception if some_list is empty, because an empty list can't have a last element.
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.
Best Answer
some_list[-1]
is the shortest and most Pythonic.In fact, you can do much more with this syntax. The
some_list[-n]
syntax gets the nth-to-last element. Sosome_list[-1]
gets the last element,some_list[-2]
gets the second to last, etc, all the way down tosome_list[-len(some_list)]
, which gives you the first element.You can also set list elements in this way. For instance:
Note that getting a list item by index will raise an
IndexError
if the expected item doesn't exist. This means thatsome_list[-1]
will raise an exception ifsome_list
is empty, because an empty list can't have a last element.