When does the IndexError: list assignment index out of range
appear?
Python throws an IndexError
if you try to assign a value to a list index that doesn’t exist, yet. For example, if you execute the expression list[1] = 10
on an empty list
, Python throws the IndexError
. Simply resolve it by adding elements to your list until the index actually exists.
Here’s the minimal example that throws the IndexError:
lst = [] lst[1] = 10
If you run this code, you’ll see that Python throws an IndexError
:
Traceback (most recent call last): File "C:\Users\xcent\Desktop\code.py", line 2, in <module> lst[1] = 10 IndexError: list assignment index out of range
You can resolve it by adding two “dummy” elements to the list so that the index 1 actually exists in the list:
lst = [None, None] lst[1] = 10 print(lst)
Now, Python will print the expected output:
[None, 10]
Try to fix the IndexError
in the following interactive code shell:
Exercise: Can you fix this code?
So what are some other occurrences of the IndexError?
IndexError in For Loop
Frequently, the IndexError
happens if you use a for
loop to modify some list elements like here:
# WRONG CODE: lst = [] for i in range(10): lst[i] = i print(lst)
Again, the result is an IndexError
:
Traceback (most recent call last): File "C:\Users\xcent\Desktop\code.py", line 4, in <module> lst[i] = i IndexError: list assignment index out of range
You modify a list element at index i
that doesn’t exist in the list. Instead, create the list using the list(range(10))
list constructor.
# CORRECT CODE: lst = list(range(10)) print(lst) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Where to Go From Here?
You’ve learned how to resolve one error. By doing this, your Python skills have improved a little bit. Do this every day and soon, you’ll be a skilled master coder.
Do you want to leverage those skills in the most effective way? In other words: do you want to earn money with Python?
If the answer is yes, let me show you a simple way how you can create your simple, home-based coding business online:
Join Free Webinar: How to Become a Six-Figure Coder as an Average Coder?
Start your new thriving coding business now!