关于python中的列表遍历注意事项
2014-05-21 10:15
344 查看
在开发过程中,很容易出现以下的错误:
可以看出:假如删除列表的元素之后直接执行continue,那么遍历的时候就会落下一个元素。
那么怎么解决这个问题呢?
首先 : 我们尝试把continue去掉:
得出的结果是?
如下:
结果出乎意料,可以看出 3还在,4却没了!
我们分析一下:
当it == 3时:此时将3 从列表中删除。此时,遍历的指针(姑且这么叫)已经指向4了。
但是,it的值还是3!此时输出3,然后进行下一轮循环,即直接到了5。
其实通过列表最后的输出我们可以看到,4还是在的!
那么怎么让其输出正确的存在于list中的元素 而且值不是3?
最简单的方法就是:
先删除了再输出!
可以看出:假如删除列表的元素之后直接执行continue,那么遍历的时候就会落下一个元素。
那么怎么解决这个问题呢?
首先 : 我们尝试把continue去掉:
得出的结果是?
如下:
结果出乎意料,可以看出 3还在,4却没了!
我们分析一下:
当it == 3时:此时将3 从列表中删除。此时,遍历的指针(姑且这么叫)已经指向4了。
但是,it的值还是3!此时输出3,然后进行下一轮循环,即直接到了5。
其实通过列表最后的输出我们可以看到,4还是在的!
那么怎么让其输出正确的存在于list中的元素 而且值不是3?
最简单的方法就是:
先删除了再输出!
相关文章推荐
- python中的常见的列表操作及注意事项
- python关于利用Windows命令行输入参数的注意事项
- 关于hadoop reduce阶段遍历Iterable的注意事项
- Python列表的remove方法的注意事项
- 关于python GUI 多线程编程注意事项
- python中的列表及注意事项
- python循环修改列表注意事项
- 关于hadoop reduce阶段遍历Iterable的注意事项
- python关于BIF、标准库方法使用的注意事项总结
- 程序员必看:关于SQL Server的若干注意事项
- 关于mysql4.0.X升级到mysql5.0的注意事项
- 关于个人承接项目的注意事项
- 在WEB程序中使用.NET Remoting的IpcChannel时注意事项(关于“拒绝访问”问题的解决)
- 关于刀片服务器整合的注意事项
- 关于SQL Server的若干注意事项
- 讲解关于编写跨平台Java程序时的注意事项
- 程序员必看:关于SQL Server的若干注意事项
- 关于使用存储过程的一些好处以及注意事项
- ASP开发网页时需要牢记的注意事项列表
- 关于SQL Server的若干注意事项