Skip to main content
 首页 » 编程设计

python之For循环运行无限python

2025年05月04日9tuyile006

花了 5 个小时试图找到问题,但无法确定为什么 for loop for fn in L 无限运行。

L=[] 
N=int(raw_input()) 
for i in range(0,N): 
    L.append(list(raw_input().split())) 
print L 
 
for fn in L: 
    if 'insert'==fn[0]: 
        L.insert(int(fn[1]),int(fn[2])) 
    elif 'append'==fn[0]: 
        L.append(int(fn[1])) 
    elif 'remove'==fn[0]: 
        L.remove(int(fn[1])) 
    elif 'pop'==fn[0]: 
        L.pop(int(fn[1])) 
    elif 'index'==fn[0]: 
        L.index(int(fn[1]))  
    elif 'count'==fn[0]: 
        L.count(int(fn[1])) 
    elif 'sort'==fn[0]: 
        L.sort()      
    elif 'reverse'==fn[0]: 
        L.reverse()  
    else : 
        print  L 

提供给列表的输入:

12 
insert 0 5 
insert 1 10 
insert 0 6 
print  
remove 6 
append 9 
append 1 
sort  
print 
pop 
reverse 
print 

请您参考如下方法:

你在循环中改变你的列表。结果将非常不可预测。您可以改为迭代列表的一部分:

for fn in L[:]: 
    # your code here 
    pass 

这样,当浅拷贝(切片)中的项目耗尽时,循环终止。