python列表反向取值_Python列表的反向遍历,python,逆序
引题:该题源自一个网友的求助,作为水群龙王的我义不容辞的接下了这道题目,先来看题目:
题目
拿到这道题,题目的意思已经很清楚了,列表里含有2的元素都需要删除,然后输出删除后的新列表。我首先想到的思路就是使用for循环遍历字符串,利用字符串操作符x in s(如果x是s的子串,返回True,否则返回False),使用if函数 ,若为True则删除(remove)该元素。最终输出新列表。
思路代码及运行结果如下(这是错的)
错误实例
观察输出结果,跟原列表相比虽然剔除了一些含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)
代码及运行结果如下(这是正确的)
正确实例
可以看到 我们已经得到了想要输出的结果,关于为什么倒序不会出现问题这里不再过多解释 (因为我不知道怎么解释哈哈哈)只用记住利用for循环遍历删除元素时应该从后往前遍历,否则会出现列表越界的情况。
除了使用remove方法外 我们还有没有别的选择呢?当然是有的咯 python别的不多就是函数超级多。
总结实现列表逆序遍历方法可以有如下几种(还有更多):
多种方法总结
python列表反向取值_Python列表的反向遍历,python,逆序相关推荐
- python 根据索引取值_Python基础知识2
运行Python程序的两种方式 运行Python程序的三步骤(与文本编辑器对比) IDE工具----pycharm 注释 变量 基本数据类型及其内置方法 垃圾回收(GC)机制 基本运算符 流程控制(i ...
- python列表添加重复值_python 列表 重复添加数据库
<Python 3程序开发指南(第2版•修订版)>--1.4 总结 本节书摘来自异步社区<Python 3程序开发指南(第2版•修订版)>一书中的第1章,第1.4节,作者[英] ...
- python嵌套字典取值_python嵌套字典比较值与取值的实现示例
python嵌套字典比较值与取值的实现示例 本文通过示例给大家介绍了python嵌套字典比较值,取值,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 示例代码 #取值import t ...
- python 列表间隔取值_python list数据等间隔抽取并新建list存储的例子
原始数据如下: ['e3cd', 'e547', 'e63d', '0ffd', 'e39b', 'e539', 'e5be', '0dd2', 'e3d6', 'e52e', 'e5f8', '00 ...
- python 列表间隔取值_python 等间隔抽取一定数量的数据
等间隔抽取数据,可以利用numpy里面的linspace,代码如下: import numpy as np # 1表示开始位置 # 2000表示结束位置 # 100表示抽取数据个数 # int表示转换 ...
- python如何从列表中提取数据_Python 从列表中取值和取索引的方法
如下所示: name_list["zhangsan","lisi","wangwu"] #1.取值 print(name_list[0]) ...
- 列表根据下标取值_Python基础知识点——list(列表)讲解
前言 定义:列表是一种可变的.有序的数据结构,可以随时添加和删除其中的元素. 列表非常适合利用顺序和位置定位某一元素,尤其是当元素的顺序或内容经常发生改变时.与字符串不同,列表是可变的.你可以直接对原 ...
- python字典取值_python 字典中取值的两种方法小结
python 字典中取值的两种方法小结 如下所示: a={'name':'tony','sex':'male'} 获得name的值的方式有两种 print a['name'],type(a['name ...
- Python中字典取值常用的方法!
字典是Python中比较常见的数据类型之一,它是一种可变容器模型,可以存储任意数量的任意类型的数据,而且字典中的每个元素由一个键和一个值组成,键和值之间用冒号分隔.本文为大家介绍一下Python中字典 ...
最新文章
- 动态的管理ASP.NET DataGrid数据列
- AWS — AWS 上的 MEC
- 【渝粤教育】广东开放大学 大学英语1 形成性考核 (43)
- 探索MicroPython(三)--基础操作示例
- 芯片短缺并未缓解,机构数据显示交付周期在7月份已超过20周
- 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第5节 线程池_2_线程池的代码实现...
- 教师计算机培训心得体会范文,教师计算机教育培训学习心得体会
- 服务器上运行python
- 解决UWP应用无法使用本地代理
- 计算机毕业设计asp.net193酒店客房预订网站系统
- 用java做考试管理系统,考试管理系统的开发实现(Java+Web)
- HTML5简单实战--休假申请单
- 图像处理------Mean Shift滤波(边缘保留的低通滤波)
- 校企合作,人才共育|岳阳开放大学校长乐艳华一行莅临云畅科技考察交流
- 达梦误删除表空间文件恢复
- Spring Boot Admin 基于security 认证监控
- 电话号码查询系统(链式结构)
- 【操作系统概念-作业1】Introduction
- (Java高级程序设计-案例)-通过JDBC连接MySQL并对表进行增、删、改、查
- 我们只是虫子!我们真的是虫子吗?