Python IndexError: List index out of range

Updated: July 3, 2023 By: Wolf Post a comment

The IndexError: list index out of range error occurs when you try to access an index in a list that is outside the valid range of indices. In Python, list indices start from 0, so if you try to access an index that is greater than or equal to the length of the list, you will encounter this error. It indicates that the index you are trying to access does not exist in the list.

There are a couple of different ways to avoid the IndexError: List index out of range. Let’s explore them one by one in this concise article.

Check List Length Before Accessing Index

The main point here is simple and straightforward: before accessing an index in the list, check if the index is within the valid range of the list length.

Example:

my_list = ['a', 'b', 'c', 'd', 'e']
index = 5

if index < len(my_list):
    value = my_list[index]
    print(value)
else:
    # Do something else
    print("Please choose a valid index")

Output:

Please choose a valid index

Use Try/Except Block

An alternative solution is to use a try/except block to catch the IndexError and handle it gracefully.

Example:

my_list = ['sling', 'academy', 'dot', 'com']

index = 4

try:
    value = my_list[index]
    print(value)
except IndexError:
    print("The list has no element at index", index)

Output:

The list has no element at index 4