使用while循环python进行列表更新

使用while循环python进行列表更新,python,list,while-loop,infinite-loop,Python,List,While Loop,Infinite Loop,我试图使用while循环更新列表,但它是一个无限循环。 代码 li = [1,2,3,4] max_time = [0,0,0,0] li.sort() if 2 in li: pos2 = li.index(2) max_time[0] = 2 while(pos2<4 and li.index(2) != 3): if(li[pos2+1] == 3): max_time[1] = li[pos2+1]

我试图使用while循环更新列表,但它是一个无限循环。 代码

li = [1,2,3,4]
max_time = [0,0,0,0]
li.sort()

if 2 in li:
    pos2 = li.index(2)
    max_time[0] = 2
    while(pos2<4 and li.index(2) != 3):
        if(li[pos2+1] == 3):
            max_time[1] = li[pos2+1]
            pos2 += 1
            continue
        elif(li[pos2+1] == 4 or li[pos2+1] == 5):
            max_time[2] = li[pos2+1]
            pos2 += 1
            continue
        else:
            max_time[3] = li[pos2+1]
            pos2 += 1
            continue 
li=[1,2,3,4]
最大时间=[0,0,0,0]
李
如果在li中为2:
pos2=li.索引(2)
最长时间[0]=2

while(pos2)代码中不需要
continue
,并且
pos2+=1
可以放在
if
语句之后。
li.index(2)
返回
1
它返回给定的第一个对象的索引,即2。
li=[1,2,3,4]
因此
2
在索引
1
中,您不会更改
li中2的位置,因此您的while循环的状态将始终持续。它必须更新max_项-以及最终结果如何?投票关闭;程序抛出异常,而不是进入无限循环(ergo无法复制)