How to get the last element of a list?
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:
1, 2, 3] some_list[-1] = 5 # Set the last elementsome_list[-2] = 3 # Set the second to last elementsome_list[1, 3, 5]some_list = [
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.
list() objects might end up being empty as so:
astr = '' or
alist = , then you might want to use
alist[-1:] instead of
alist[-1] for object "sameness".
The significance of this is:
alist = alist[-1] # will generate an IndexError exception whereas alist[-1:] # will return an empty listastr = ''astr[-1] # will generate an IndexError exception whereasastr[-1:] # will return an empty str
Where the distinction being made is that returning an empty list object or empty str object is more "last element"-like then an exception object.