索引超出范围 Python 数值迭代

Posted

技术标签:

【中文标题】索引超出范围 Python 数值迭代【英文标题】:Index out of range Python NUmerical Iteration 【发布时间】:2015-09-02 15:26:22 【问题描述】:

我是 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: 列表赋值索引超出范围

谁能帮我解决这个问题

【问题讨论】:

此问题中的当前代码无法按原样运行,请编辑您的问题使其运行。 【参考方案1】:

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

循环中出现同样的错误(x[i+1] is index out of range because the array is empty)并且您有语法错误,end 不是 python 关键字。最后,循环体应该缩进。

【讨论】:

【参考方案2】:

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]

【讨论】:

以上是关于索引超出范围 Python 数值迭代的主要内容,如果未能解决你的问题,请参考以下文章

当我遍历我的列表时,返回列表索引超出范围

Python - 索引错误 - 列表索引超出范围

Python:IndexError:列表索引超出范围

Python - “元组索引超出范围”

读取csv python时列出索引超出范围

在Python中获取超出范围的索引默认值[重复]