IndexError: list assignment index out of range - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: General Coding Help (https://python-forum.io/forum-8.html) +--- Thread: IndexError: list assignment index out of range (/thread-17837.html) |
IndexError: list assignment index out of range - Apretext - Apr-25-2019 This seems to be something that a lot of new people to python seem to struggle with, and I'm no exception.... I understand that appending the values is something I need to do, but.. I'm obviously not doing it QUITE right.. This is my code: x=0 dist=[] while x < 100: dist.append(x) dist[x]=400/(math.cos(angle)) print (dist[x]) x = x+1Where angle comes from earlier in the code. But I still get the list assignment out of range error. What am I doing wrong? RE: IndexError: list assignment index out of range - Yoriz - Apr-25-2019 Hi, I don't get that error because indentation is missing from the code, math has not been imported and angle has not been defined. when asking questions please show code that can be run, that will give the error, also please post the full error trace back in error tags.For what you seem to be doing a for loop would be easier import math angle = 20 dist=[] for x in range(100): calculation = 400/(math.cos(angle)) dist.append(calculation) print(calculation)i assume the value of x is supposed to be in the calculation somewhere, because it currently just outputs 100 times.
RE: IndexError: list assignment index out of range - Apretext - Apr-25-2019 Brilliant thank you. Apologies, there was a long code beforehand which gives the angle value, which I knew to be working, so didn't include. So, if I am to understand correctly, the append function adds another value to the list (in this case dist), which is the value in the brackets. Now makes sense. RE: IndexError: list assignment index out of range - Yoriz - Apr-25-2019 Yes it is appending calculation to the end of the sequence. my_list = [] print(my_list) my_list.append('an item') print(my_list) my_list.append('another item') print(my_list)
|