计算数组时出现"list assignment index out of range"错误



正如你在下面看到的,有一个数组数组可以保存图像的角落。我想用这个数组来计算每条边的长度。

这是我的代码:

imageDrawPoints = []
imageDrawPoints.append(imageShowConers)
imageSumPoints = [] 
i=0;
for imageDrawPoints in imageDrawPoints : 
    imageSumPoints[i] = imageDrawPoints[i] + imageDrawPoints[i+1]
    i=i+1
print imageSumPoints

错误:

索引错误回溯(最近一次调用( 最后( 在 (( 中 4 i=0; 5 表示图像中的绘制点 图像绘制点 : ----> 6 图像总和点[i] = 图像绘制点[i] + 图像绘制点[i+1] 7 i=i+1 8 打印图像总和点

索引

错误:列表分配索引超出范围

"imageDrawPoints[i+1]" is the problem.

如果你有一个包含 5 个项目的列表,它可能看起来像 [0,1,2,3,4]

当您到达迭代结束时,您的代码将查找:

imageDrawPoints[4+1] 

这在您的数组中不存在,并且会引发错误。

由于我不知道您的代码需要做什么(您需要弄清楚(,但是您需要添加一些条件来寻找数组的末尾并执行其他操作。

像这样:

listExample = [0,1,2,3,4]
counter = 0
for i in listExample:
        if counter != len(listExample) -1:
        print i
        l = listExample[counter] + (listExample[counter+1])
        else:
            print "End Of Shape"
    counter+=1

最新更新