不妨把它打印出来:
num=[2,3,4,6,1]
m=0
while
m
>>
1
2
3
4
traceback
(most
recent
call
last):
file
"c:\documents
and
settings\administrator\妗岄溃\1.py",
line
4,
in
indexerror:
list
index
out
of
range
这样你可以知道了把,在m=4的那个循环那里出了问题,因为这个序列长度为5,它不可能有num[5]的情况,就叫做溢出了(list
index
out
of
range),所以在if
num[m]
评论
0
0
加载更多
i, j在程序运行过程中将历遍range函数中的所有值,当你从datalist中删去一个元素时其长度减少,这会导致i, j取到最后几个值的时候索引参数溢出报错。
所以你可以加上try和except语句来侦测其是否溢出,一旦溢出则说明已历遍完成,即break出loop。