索引超出范围Python NUmerical迭代

时间:2015-09-02 15:26:22

标签: python indexing indexoutofrangeexception

我是Python的初学者。在运行以下代码时。

from array import *  
x=[]  
x[0]=.232  
for i in range(25):   
x[i+1]=1/[i+1]-5*x[i] 
end

我收到错误:

  

x [0] =。232 IndexError:列表分配索引超出范围

有人可以帮我解决这个问题

2 个答案:

答案 0 :(得分:1)

您的代码有更多错误,但在这种特殊情况下,您尝试访问空数组的第一个位置(x[0])(声明为x=[] )< / p>

循环中出现相同的错误( x[i+1]索引超出范围,因为数组为空)并且您有语法错误,end不是python关键词。最后,循环的主体应该缩进。

答案 1 :(得分:0)

x = []会产生一个空列表,因此您无法调用x [0],因此为方便起见,请将26个元素的列表(您需要所有26个元素)全部等于零,

 x=[0.0]*26

x=[0.0 for i in range(26)]

再次[i+1]表示一个列表,你不能用make(i + 1)进行计算。同样1/(i+1)给出整数除法make 1.0 /(i + 1) end这里不是一个有效的python函数,不要使用它来修改for循环下的下一行。最终计划,

x=[0.0]*26  
x[0]=.232  
for i in range(25):   
    x[i+1]=1.0/(i+1)-5*x[i]