Python list列表删除元素(4种方法)

Python list列表删除元素(4种方法)Pythonlist 列表删除元素 4 种方法 在 Python 列表中删除元素主要分为以下 3 种场景 根据目标元素所在位置的索引进行删除 可以使用 del 关键字或者 pop 方法 根据元素本身的值进行删除 可使用列表 list 类型 提供的 remove 方法 将列表中所有元素全部删除 可使用列表 list 类型 提供的 clear 方法 del 根据索引值删除元素 del 是 Python 中的关键字 专门用来执行删除操作 它不仅可以删除整个列表 还可以删除列表中的某些元素 我们已经

Python list列表删除元素(4种方法)

在 Python 列表中删除元素主要分为以下 3 种场景:

根据目标元素所在位置的索引进行删除,可以使用 del 关键字或者 pop() 方法;

根据元素本身的值进行删除,可使用列表(list类型)提供的 remove() 方法;

将列表中所有元素全部删除,可使用列表(list类型)提供的 clear() 方法。

del:根据索引值删除元素

del 是 Python 中的关键字,专门用来执行删除操作,它不仅可以删除整个列表,还可以删除列表中的某些元素。我们已经在之前中讲解了如何删除整个列表,所以本节只讲解如何删除列表元素。

del 可以删除列表中的单个元素,格式为:

del listname[index] 

其中,listname 表示列表名称,index 表示元素的索引值。

del 也可以删除中间一段连续的元素,格式为:

del listname[start : end] 

其中,start 表示起始索引,end 表示结束索引。del 会删除从索引 start 到 end 之间的元素,不包括 end 位置的元素。

【示例】使用 del 删除单个列表元素:

lang = ["Python", "C++", "Java", "PHP", "Ruby", "MATLAB"] #使用正数索引 del lang[2] print(lang) #使用负数索引 del lang[-2] print(lang) 

运行结果:

['Python', 'C++', 'PHP', 'Ruby', 'MATLAB'] ['Python', 'C++', 'PHP', 'MATLAB'] 

【示例】使用 del 删除一段连续的元素:

lang = ["Python", "C++", "Java", "PHP", "Ruby", "MATLAB"] del lang[1: 4] print(lang) lang.extend(["SQL", "C#", "Go"]) del lang[-5: -2] print(lang) 

运行结果:

['Python', 'Ruby', 'MATLAB'] ['Python', 'C#', 'Go'] 

pop():根据索引值删除元素

Python pop() 方法用来删除列表中指定索引处的元素,具体格式如下:

listname.pop(index) 

其中,listname 表示列表名称,index 表示索引值。如果不写 index 参数,默认会删除列表中的最后一个元素,类似于数据结构中的“出栈”操作。

pop() 用法举例:

nums = [40, 36, 89, 2, 36, 100, 7] nums.pop(3) print(nums) nums.pop() print(nums) 

运行结果:

[40, 36, 89, 36, 100, 7] [40, 36, 89, 36, 100] 

大部分编程语言都会提供和 pop() 相对应的方法,就是 push(),该方法用来将元素添加到列表的尾部,类似于数据结构中的“入栈”操作。但是 Python 是个例外,Python 并没有提供 push() 方法,因为完全可以使用 append() 来代替 push() 的功能。

remove():根据元素值进行删除

除了 del 关键字,Python 还提供了 remove() 方法,该方法会根据元素本身的值来进行删除操作。

需要注意的是,remove() 方法只会删除第一个和指定值相同的元素,而且必须保证该元素是存在的,否则会引发 ValueError 错误。

remove() 方法使用示例:

nums = [40, 36, 89, 2, 36, 100, 7] #第一次删除36 nums.remove(36) print(nums) #第二次删除36 nums.remove(36) print(nums) #删除78 nums.remove(78) print(nums) 

运行结果:

[40, 89, 2, 36, 100, 7] [40, 89, 2, 100, 7] Traceback (most recent call last): File "C:\Users\mozhiyan\Desktop\demo.py", line 9, in <module> nums.remove(78) ValueError: list.remove(x): x not in list 

最后一次删除,因为 78 不存在导致报错,所以我们在使用 remove() 删除元素时最好提前判断一下。

clear():删除列表所有元素

Python clear() 用来删除列表的所有元素,也即清空列表,请看下面的代码:

url = list("i like python") url.clear() print(url) 

运行结果:

[] 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233565.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Django(17)orm查询操作「建议收藏」

    Django(17)orm查询操作「建议收藏」前言查找是数据库操作中一个非常重要的技术。查询一般就是使用filter、exclude以及get三个方法来实现。我们可以在调用这些方法的时候传递不同的参数来实现查询需求。在ORM层面,这些查询条件都

    2022年7月30日
    6
  • Cassandra SizeTieredCompaction策略解析

    Cassandra SizeTieredCompaction策略解析

    2021年8月18日
    58
  • 微信小程序轮播图实现(超简单)「建议收藏」

    微信小程序轮播图实现(超简单)「建议收藏」微信小程序轮播图实现(超简单)微信小程序的轮播图可以用官方给的swiper组件。下图是官方给出的swiper属性,我截取了比较常用的一些属性。效果实现如下图1.普通开发(不采用云开发)1.1wxml<viewclass=”banner”><swiperindicator-dotsindicator-color=”rgba(255,255,255,0.5)”indicator-active-color=”#fff”circularautoplay

    2022年5月22日
    50
  • Maven cmd 打包命令

    Maven cmd 打包命令转载:https://blog.csdn.net/qq_34927809/article/details/80108376cd到需要打包项目的pom.xml文件下:输入mvncleaninstall-Dmaven.test.skip=true-Dmaven.javadoc.skip=true打包到本地项目的target下面…

    2022年6月5日
    68
  • django request.get_RequestParam

    django request.get_RequestParamDjango在接收到http请求之后,会根据http请求携带的参数以及报文信息创建一个WSGIRequest对象,并且作为视图函数第一个参数传给视图函数。也就是我们经常看到的request参数。在这个

    2022年7月31日
    6
  • Zabbix 监控Redis

    Zabbix 监控Redis网上有大量zabbix监控redis的文章,但大多数不详细,而我按一下方法成功了,所以转载了此博主的文章此按照以下配置好后,会遇到一个问题:后查明是由于监控shell脚本格式问题请按:http://www.2cto.com/os/201305/215945.html 处理shell脚本和模版看文章的最下面一、配置zabbix插件

    2022年6月11日
    137

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号