If you are collaborating with Python, you might have come across an IndexError at some time. This mistake happens when you attempt to access an index that runs out variety for a listing, tuple, or string. It can be annoying to experience this mistake, particularly if you are unsure just how to repair it.

understand and fix indexerror in python

In this tutorial, we will certainly describe what an IndexError is, why it happens, and also just how to repair it. We will certainly supply instances of usual circumstances where an IndexError can take place and also stroll you with detailed options to deal with the problem. By the end of this tutorial, you will have a far better understanding of just how to take care of IndexError in your Python code.

Comprehending IndexError in Python

Let’s recognize what IndexError remains in Python thoroughly.

Why does the IndexError take place?

In Python, IndexError is a typical mistake that happens when you attempt to access an index that runs out variety of a listing, tuple, or string. Allow’s recreate this mistake.

 # produce a listing
ls = [1, 2, 3]
# print aspect at index 3
print( ls[3]) 

Output:

 ---------------------------------------------------------------------------.
IndexError Traceback (latest phone call last).
Cell In[1], line 4.
2 ls = [1, 2, 3].
3 # print aspect at index 3.
-- > 4 print( ls[3]).
IndexError: checklist index out of range

We obtain an IndexError: checklist index out of range due to the fact that the index 3 runs out variety of indices in the checklist ls. Because the checklist ls has 3 worths, limit index we can access in the checklist is 2 (series are indexed from 0 in Python), if you attempt to access an index outside the variety of indices, you’ll obtain an IndexError.

This puts on various other gotten iterables also such as strings, tuples, and so on

 # produce a string.
s="pet cat".
# obtain personality at index 3.
print( s[3]) 

Output:

 ---------------------------------------------------------------------------.
IndexError Traceback (latest phone call last).
Cell In[2], line 4.
2 s="pet cat".
3 # obtain personality at index 3.
-- > 4 print( s[3]).
IndexError: string index out of range

Here, we obtain the IndexError: string index out of range as we are attempting to access an index that is absent in the string.

 # produce a tuple.
tup = (1, 2, 3).
# obtain aspect at index 3.
print( tup[3]) 

Output:

 ---------------------------------------------------------------------------.
IndexError Traceback (latest phone call last).
Cell In[3], line 4.
2 tup = (1, 2, 3).
3 # obtain aspect at index 3.
-- > 4 print( tup[3]).
IndexError: tuple index out of range

Similarly, we obtain IndexError: tuple index out of range.

IndexError with unfavorable Indexes

Python likewise permits unfavorable indexing of series. Adverse indexing allows you to gain access to components of a series (such as a string, checklist, or tuple) from completion, as opposed to from the starting.

As an example, in the checklist ls = [1, 2, 3], you can access the last aspect making use of ls[-1].

 # produce a listing.
ls = [1, 2, 3].
# last aspect.
print( ls[-1]).
# 2nd last aspect.
print( ls[-2]) 

Output:

3.
2

You can likewise obtain IndexError when making use of an unfavorable index. As an example, in the above checklist, if you attempt to access the aspect at index -4, you’ll obtain an IndexError.

 # produce a listing.
ls = [1, 2, 3].
print( ls[-4]) 

Output:

 ---------------------------------------------------------------------------.
IndexError Traceback (latest phone call last).
Cell In[11], line 3.
1 # produce a listing.
2 ls = [1, 2, 3].
-- > 3 print( ls[-4]).
IndexError: checklist index out of range

We obtain IndexError: checklist index out of range. This is due to the fact that below we are attempting to access the fourth aspect in the checklist from completion and also the checklist just has 3 components.

Just how to Take Care Of IndexError in Python

Now that we understand what IndexError is and also why it happens in Python, allowed’s see just how we can deal with or prevent it such that our code runs mistake cost-free.

We can take the complying with strategies to deal with IndexError in Python.

Examining the Index Array making use of If-Else statement

One method to deal with the IndexError is to inspect the index variety prior to accessing the aspect. You can make use of an if-else declaration to inspect if the index is within the variety of the checklist or range. If the index is within the variety, you can access the aspect, or else, you can publish a mistake message. Right here’s an instance:

 ls = [1, 2, 3].

index = 3.

if -len( ls) <