如何修复此列表索引超出范围错误

时间:2019-01-20 07:18:18

标签: python-3.x

我想执行列减法。例如,[[0,2],[2,5],[3,11]]为此,我要执行(5-2),(11-5)。然后找到最大的差异。为此,我创建了一个字典,并将差异及其对存储在一起。例如(5-2)的差异存储为0,(11-5)的差异存储为2。

错误是:

  

回溯(最近通话最近):文件   “ /home/viki/Music/keypress.py”,第14行,在       keypressTime(l)文件“ /home/viki/Music/keypress.py”,第10行,在keypressTime中       d = x [i + 1] [1]-x [i] [1] IndexError:列表索引超出范围

import operator

l = [[0,2],[2.4],[0,8],[3,9],[5,20]]

def keypressTime(x):
    dic = {}
    d = 0
    for i in range(len(x)-1):
        if i <(len(x)-1):
            d = x[i+1][1] - x[i][1]
            dic["i"] = d
    return max(dict.items(),key=operator.itemgetter(1))[0]

keypressTime(l)

1 个答案:

答案 0 :(得分:0)

l的变量声明中有一个错字。 l = [[0,2], [2.4] ,[0,8],[3,9],[5,20]]->将2.4更改为2,4

并且dict.items()应该是dic.items()