关于python list index out of range

我写的这个 去除 字符串中多余空格,(所有空格处 只保留一个空格)的 方法

如果发生 remove 那么 len(l)的总大小就会减少,而 i的 最大值不变,所以会暴这个错误

def removeblank(line):
str=line.strip()
l=strtolist(str)
for i in range(len(l)):
if (l[i] == ' ' and i+1<len(l)):
a=l[i]
for j in range(i+1,len(l)):
b=l[j]
if l[j]==' ':
l.remove(l[j])
break
return l

用while的 方式就 不会报错

list0=[0,1,2,3,4,5,6,7,8,9,10]
def listtest(list):
i=0
while i<len(list):
if i%3==0:
list.remove(i)
print(i)
i=i+1
listtest(list0)
原文地址:https://www.cnblogs.com/alanling/p/9533152.html