a=['a','b','c','d','e','a','a']
for i in range(len(a)):
for j in range(i+1,len(a)):
if (a[i]==a[j]):
del a[j]
在执行时如下出现错误:
if (a[i]==a[j]):
IndexError: list index out of range
通过debug 发现:当j=6时,出现 for 6 in range(1,6)情况,这句话本身不是有错误吗,应该停止执行,跳出循环。
为什么还会执行到下面语句if(a[i]==a[j]),导致列表溢出。
...全文
2154打赏收藏
初学Python 遇到for in 循环疑问
删除列表中重复元素 a=['a','b','c','d','e','a','a'] for i in range(len(a)): for j in range(i+1,len(a)): if (a[i]==a[j]): del a[j] 在执行时如下出现错误: if (a[i]==a[j]): IndexError: list index out of range 通过debug 发现:当j=6时,出现 for 6 in range(1,6)情况,这句话本身不是有错误吗,应该停止执行,跳出循环