今天写程序时遇到了问题
描述:我用for循环一个list,把取到的值remove掉,但是却没有全部遍历,只遍历了一部分。单独抽时间研究了一下。
原因如下:
lt = ['1','2','3']
for i in lt:
lt.remove(i)
print lt
你会惊喜的发现 结果是‘2’,没删除完
因为for循环的时候按下标遍历,remove是删除一个后面的向前移动
删除了1 变成了['2','3']
此时循环从下标1开始了也就是3被删除了
所以2被留了下来
恍然大悟