python列表的逆序遍历实现


Posted in Python onApril 20, 2020

引题:该题源自一个网友的求助,作为水群龙王的我义不容辞的接下了这道题目,先来看题目:

python列表的逆序遍历实现

拿到这道题,题目的意思已经很清楚了,列表里含有2的元素都需要删除,然后输出删除后的新列表。我首先想到的思路就是使用for循环遍历字符串,利用字符串操作符x in s(如果x是s的子串,返回True,否则返回False),使用if函数 ,若为True则删除(remove)该元素。最终输出新列表。

     思路代码及运行结果如下(这是错的)

python列表的逆序遍历实现

错误实例

观察输出结果,跟原列表相比虽然剔除了一些含2的元素,但是并没有完全剔除,为什么?

 来分析一下python是根据列表元素的下标来遍历的。于是最开始元素123下标为1, 元素212下标为2。第一遍循环执行了s.remove,删除了元素123。当进入第二遍循环时!!!重点来了,注意 此时元素123已经是被删除了, 所以元素212的下标由1变成了0,元素434下标由2变成了1。而下标为0已经在第一遍循环中执行了,故第二遍循环会寻找下标为1的元素。

写到这 想必大家已经知道为什么输出结果中212没有被删除,因为这2货压根就没有被python发现,坐上了前一个元素的位置逃过了例行检查。元素1215为什么也没被删除??因为它下标变成了前面的元素231的位置,逃过了python大哥的例行检查。

好了,出错的原因已经找到了,怎么解决呢?遍历呢就像一条路,你可以从路的起点走到终点,也可以从路的终点走到起点。刚才我们是正序遍历,解决不了问题,那我们倒过来呢?试一下。

倒序遍历的结构可以是这样的: for i in range(len(s)-1,-1,-1)

代码及运行结果如下(这是正确的)

python列表的逆序遍历实现

正确实例

可以看到 我们已经得到了想要输出的结果,关于为什么倒序不会出现问题这里不再过多解释 (因为我不知道怎么解释哈哈哈)只用记住利用for循环遍历删除元素时应该从后往前遍历,否则会出现列表越界的情况。

除了使用remove方法外 我们还有没有别的选择呢?当然是有的咯 python别的不多就是函数超级多。

总结实现列表逆序遍历方法可以有如下几种(还有更多):

python列表的逆序遍历实现

多种方法总结

到此这篇关于python列表的逆序遍历实现的文章就介绍到这了,更多相关python列表的逆序遍历内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
盘点提高 Python 代码效率的方法
Jul 03 Python
python中readline判断文件读取结束的方法
Nov 08 Python
使用Python编写提取日志中的中文的脚本的方法
Apr 30 Python
两个使用Python脚本操作文件的小示例分享
Aug 27 Python
Python实现更改图片尺寸大小的方法(基于Pillow包)
Sep 19 Python
VTK与Python实现机械臂三维模型可视化详解
Dec 13 Python
python实现五子棋小游戏
Mar 25 Python
如何使用pyinstaller打包32位的exe程序
May 26 Python
给大家整理了19个pythonic的编程习惯(小结)
Sep 25 Python
python获取网络图片方法及整理过程详解
Dec 20 Python
pytorch实现mnist分类的示例讲解
Jan 10 Python
python代码实现将列表中重复元素之间的内容全部滤除
May 22 Python
python sitk.show()与imageJ结合使用常见的问题
Apr 20 #Python
使用Python对Dicom文件进行读取与写入的实现
Apr 20 #Python
python 错误处理 assert详解
Apr 20 #Python
解决Jupyter Notebook使用parser.parse_args出现错误问题
Apr 20 #Python
在ipython notebook中使用argparse方式
Apr 20 #Python
Python绘制全球疫情变化地图的实例代码
Apr 20 #Python
spyder 在控制台(console)执行python文件,debug python程序方式
Apr 20 #Python
You might like
PHP和Mysqlweb应用开发核心技术-第1部分 Php基础-2 php语言介绍
2011/07/03 PHP
使用Linux五年积累的一些经验技巧
2013/06/20 PHP
yii的CURD操作实例详解
2014/12/04 PHP
PHP实现将科学计数法转换为原始数字字符串的方法
2014/12/16 PHP
php resizeimage 部分jpg文件 生成缩略图失败的原因分析及解决办法
2016/03/23 PHP
thinkPHP连接sqlite3数据库的实现方法(附Thinkphp代码生成器下载)
2016/05/27 PHP
PHP十六进制颜色随机生成器功能示例
2017/07/24 PHP
Laravel 5.4.36中session没有保存成功问题的解决
2018/02/19 PHP
php 根据URL下载远程图片、压缩包、pdf等文件到本地
2019/07/26 PHP
javascript中的几个运算符
2007/06/29 Javascript
jquery 读取页面load get post ajax 四种方式代码写法
2011/04/02 Javascript
jquery $.each() 使用小探
2013/08/23 Javascript
jQuery实现的在线答题功能
2015/04/12 Javascript
javascript检查浏览器是否已经启用XX功能
2015/07/10 Javascript
jquery实现select下拉框美化特效代码分享
2015/08/18 Javascript
全面解析Bootstrap排版使用方法(文字样式)
2015/11/30 Javascript
JavaScript中的原型prototype完全解析
2016/05/10 Javascript
vue.js表格分页示例
2016/10/18 Javascript
微信小程序使用picker实现时间和日期选择框功能【附源码下载】
2017/12/11 Javascript
Vue在页面数据渲染完成之后的调用方法
2018/09/11 Javascript
vue 巧用过渡效果(小结)
2018/09/22 Javascript
简单两步使用node发送qq邮件的方法
2019/03/01 Javascript
python 中文字符串的处理实现代码
2009/10/25 Python
Python验证企业工商注册码
2015/10/25 Python
python 统计数组中元素出现次数并进行排序的实例
2018/07/02 Python
python实现将列表中各个值快速赋值给多个变量
2020/04/02 Python
Python Switch Case三种实现方法代码实例
2020/06/18 Python
pycharm使用技巧之自动调整代码格式总结
2020/11/04 Python
基于tensorflow __init__、build 和call的使用小结
2021/02/26 Python
利物浦足球俱乐部官方商店(美国):Liverpool FC US
2019/10/09 全球购物
英国知名小木屋定制网站:Tiger Sheds
2020/03/06 全球购物
德国BA保镖药房中文网:Bodyguard Apotheke
2021/03/09 全球购物
电脑教师的自我评价
2013/12/18 职场文书
2014年管理人员工作总结
2014/12/01 职场文书
立春观后感
2015/06/18 职场文书
【海涛教你打DOTA】黑鸟第一视角解说
2022/04/01 DOTA