关于python中的列表遍历注意事项

在开发过程中,很容易出现以下的错误:

可以看出:假如删除列表的元素之后直接执行continue,那么遍历的时候就会落下一个元素。

那么怎么解决这个问题呢?

首先 : 我们尝试把continue去掉:

得出的结果是?

如下:

结果出乎意料,可以看出  3还在,4却没了!

我们分析一下:

当it == 3时:此时将3 从列表中删除。此时,遍历的指针(姑且这么叫)已经指向4了。

                   但是,it的值还是3!此时输出3,然后进行下一轮循环,即直接到了5。

                   其实通过列表最后的输出我们可以看到,4还是在的!

那么怎么让其输出正确的存在于list中的元素 而且值不是3?

 最简单的方法就是:

先删除了再输出!

 

posted @ 2014-05-21 10:15  little white  阅读(1221)  评论(0编辑  收藏  举报