Let’s say that you have a Python list with the following 5 foods:

foods = ["pizza", "pasta", "steak", "chicken", "olives"]

How do we go about getting the last item?

Option 1

It’s actually really easy, you can select the index item by it’s total length minus one.

last_item = foods[len(foods)-1]

# "olives"

Option 2

Python has some really fantastic functionality around making your life easier. One of those such things is the ability to use slices.

You can return an item by it’s index if you know this, or you can return it’s value from the place within a list.

last_item = foods[-1]

# "olives

By stipulating an index of -1, we tell Python to return the last item; we can also return the second last item by using the index -2.

Additional safety checking

As with option2 above, this is a nice and simple way to achieve our objective, but what if the str() or list() object is empty?

List example

alist = []

# Generates an IndexError exception
# Return an empty list

String example

astr = ''

# Generate an IndexError exception
# Return an empty string