2015-04-12 327 views
-1

即时通讯初学者程序员,我不知道这个错误意味着什么:'IndexError:列表索引超出范围'。它是指我的代码的最后一行。在此先感谢您的帮助。Python中的'IndexError:list index out of range'是什么意思?

def sumaCuadrado(division3): 
    suma = [] 
    if division3 == []: 
     return [suma] 
    else: 
     suma = [division3[0]] 
     return [suma] + [sumaCuadrado(division3[1:])] 
+0

你是怎么称呼'sumaCuadrado()'的?你是否通过一个列表作为参数? – ZdaR

+1

这意味着你正在尝试使用一个至少比你的列表长度大1的索引-1'[1,2] [2] - >索引错误' –

+0

'division3'少于两个项目。请告诉我们这个'sum square'函数的目的。 –

回答

4

异常IndexError 当序列下标超出范围时引发。 (切片索引被自动截断以落入允许的范围;如果索引不是普通整数,则会引发TypeError。)来自python documentation

1

这意味着您正试图访问不存在的列表的索引。 例如,list ['a','b','c']有3个索引:0,1和2. list[0] = 'a'; list[1] = 'b'; list[2] = 'c' 如果您尝试list[3]那么你会得到'IndexError: list index out of range'

看你的代码,如果错误日志点到最后一行,那么我建议你检查division3的值[1:]是你所期望的。如果划分不是内部至少有2个项目的列表,那么division3 [1:]将引发索引错误。

相关问题