IndexError: list index out of range

The "IndexError: list index out of range" in Python occurs when you try to access an element from a list using an index that is beyond the range of valid indices for that list. In Python, list indices start from 0 and go up to (length - 1) of the list.

To resolve this error, you can take the following steps:

  1. Check the length of the list: Before accessing an element using an index, ensure that the index is within the valid range of the list length.
  2. Avoid hardcoding indices: Instead of using hardcoded indices, consider using loops like "for" or "while" to iterate through the list elements.
  3. Use try-except block : You can handle the IndexError using a try-except block to handle situations where the index is out of range.

Correcting index access

my_list = [1, 2, 3, 4, 5] # Correct access with index within the range element = my_list[2] # This will be 3 # Incorrect access with index out of range # element = my_list[6] # Uncommenting this line will raise IndexError

Using try-except block

my_list = [1, 2, 3] try: element = my_list[3] except IndexError: print("Index is out of range.")

In the second example, the try-except block catches the IndexError and prints a message, preventing the program from terminating abruptly.

How to solve Python IndexError: list index out of range


Handling IndexError requires careful consideration of list indices and ensuring that the index used falls within the valid range of the list. By following these best practices, you can effectively avoid "IndexError: list index out of range" and create more robust and error-free Python programs.