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!

While working as a researcher in distributed systems, Dr. Christian Mayer found his love for teaching computer science students.
To help students reach higher levels of Python success, he founded the programming education website Finxter.com that has taught exponential skills to millions of coders worldwide. He’s the author of the best-selling programming books Python One-Liners (NoStarch 2020), The Art of Clean Code (NoStarch 2022), and The Book of Dash (NoStarch 2022). Chris also coauthored the Coffee Break Python series of self-published books. He’s a computer science enthusiast, freelancer, and owner of one of the top 10 largest Python blogs worldwide.
His passions are writing, reading, and coding. But his greatest passion is to serve aspiring coders through Finxter and help them to boost their skills. You can join his free email academy here.