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实现在windows下操作word的方法
Apr 28 Python
python实现字符串和日期相互转换的方法
May 13 Python
Python 爬虫之超链接 url中含有中文出错及解决办法
Aug 03 Python
pycharm远程调试openstack代码
Nov 21 Python
python中的字典操作及字典函数
Jan 03 Python
python定向爬取淘宝商品价格
Feb 27 Python
Python时间序列处理之ARIMA模型的使用讲解
Apr 02 Python
使用python实现mqtt的发布和订阅
May 05 Python
详解pyppeteer(python版puppeteer)基本使用
Jun 12 Python
python设置表格边框的具体方法
Jul 17 Python
Python3以GitHub为例来实现模拟登录和爬取的实例讲解
Jul 30 Python
Python 用__new__方法实现单例的操作
Dec 11 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语法(4)
2006/10/09 PHP
php循环输出数据库内容的代码
2008/05/24 PHP
php使用Jpgraph绘制复杂X-Y坐标图的方法
2015/06/10 PHP
Session 失效的原因汇总及解决丢失办法
2015/09/30 PHP
js验证表单第二部分
2006/11/25 Javascript
javascript实现二分查找法实现代码
2007/11/12 Javascript
一个级联菜单代码学习及removeClass与addClass的应用
2013/01/24 Javascript
jQuery菜单插件用法实例
2015/07/25 Javascript
json与jsonp知识小结(推荐)
2016/08/16 Javascript
深入理解Angular4中的依赖注入
2017/06/07 Javascript
vue 怎么创建组件及组件使用方法
2017/07/27 Javascript
JavaScript截屏功能的实现代码
2017/07/28 Javascript
详解React+Koa实现服务端渲染(SSR)
2018/05/23 Javascript
微信小程序开发之tabbar图标和颜色的实现
2018/10/17 Javascript
使用vue实现通过变量动态拼接url
2020/07/22 Javascript
[00:05]ChinaJoy现场 DOTA2玩家高呼“CN DOTA BEST DOTA”
2019/08/04 DOTA
python实现基于两张图片生成圆角图标效果的方法
2015/03/26 Python
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
2015/10/18 Python
python判断数字是否是超级素数幂
2018/09/27 Python
python 使用re.search()筛选后 选取部分结果的方法
2018/11/28 Python
python中metaclass原理与用法详解
2019/06/25 Python
Python图像处理之图片文字识别功能(OCR)
2019/07/30 Python
django-初始配置(纯手写)详解
2019/07/30 Python
Python学习笔记之Django创建第一个数据库模型的方法
2019/08/07 Python
Django分组聚合查询实例分享
2020/04/29 Python
Django 5种类型Session使用方法解析
2020/04/29 Python
Python configparser模块操作代码实例
2020/06/08 Python
有模特经验的简历自我评价
2013/09/19 职场文书
生物专业个人自荐信范文
2013/11/29 职场文书
初中地理教学反思
2014/01/11 职场文书
关爱留守儿童标语
2014/06/18 职场文书
结婚司仪主持词
2015/06/29 职场文书
导游词之北京明十三陵
2019/10/28 职场文书
HTML+CSS制作心跳特效的实现
2021/05/26 HTML / CSS
python中Matplotlib绘制直线的实例代码
2021/07/04 Python
WinServer2012搭建DNS服务器的方法步骤
2022/06/10 Servers