Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Tut] [Resolve] IndexError: List Assignment Index Out of Range
1
[Resolve] IndexError: List Assignment Index Out of Range



When does the
Code:
IndexError: list assignment index out of range
appear?


Python throws an
Code:
IndexError
if you try to assign a value to a list index that doesn’t exist, yet. For example, if you execute the expression
Code:
list[1] = 10
on an empty
Code:
list
, Python throws the
Code:
IndexError
. Simply resolve it by adding elements to your list until the index actually exists.


[Image: image-2.png]

Here’s the minimal example that throws the IndexError:

Code:
lst = [] lst[1] = 10

If you run this code, you’ll see that Python throws an
Code:
IndexError
:

Code:
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:

Code:
lst = [None, None] lst[1] = 10 print(lst)

Now, Python will print the expected output:

Code:
[None, 10]

Try to fix the
Code:
IndexError
in the following interactive code shell:

https://repl.it/@finxter/RemarkablePunge...?lite=true

Exercise: Can you fix this code?

So what are some other occurrences of the IndexError?

IndexError in For Loop

Frequently, the
Code:
IndexError
happens if you use a
Code:
for
loop to modify some list elements like here:

Code:
# WRONG CODE: lst = [] for i in range(10): lst[i] = i print(lst)

Again, the result is an
Code:
IndexError
:

Code:
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
Code:
i
that doesn’t exist in the list. Instead, create the list using the
Code:
list(range(10))
list constructor.

Code:
# 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!
Reply

Users browsing this thread:
1 Guest(s)


Forum Jump: