为什么我收到IndexError:list index超出范围第37行?

时间:2016-07-03 21:30:57

标签: python

我写了这段代码来获取姓名,学号和分数,然后找到最大值,报告和删除,但我有一个删除问题,我无法根除。当我运行时,我得到IndexError:列表索引超出第37行的范围行,虽然我找不到它的问题。

DerivedData

1 个答案:

答案 0 :(得分:1)

我认为这可能是因为当您删除项目时,一旦项目被删除,您就不会破坏。然后,当你到达用于拥有N个元素的列表的末尾时,你只剩下N-1个元素。

在之后添加休息时间:

for i in range(len(x)):
    if p==z[i]:
        x.pop(i)
        y.pop(i)
        z.pop(i)
        break  # here

或者改为使用find并重写为:

 position = x.find(p)
 if position != -1:
     x.pop(position)
     y.pop(position)
     z.pop(position)