Search code examples
pythonlistindexing

How do I get the last element of a list?


How do I get the last element of a list? Which way is preferred?

alist[-1]
alist[len(alist) - 1]

Solution

  • 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.