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


Posted in Python onNovember 01, 2021

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

  • 根据目标元素所在位置的索引进行删除,可以使用 del 关键字或者 pop() 方法;
  • 根据元素本身的值进行删除,可使用列表(list类型)提供的 remove() 方法;
  • 将列表中所有元素全部删除,可使用列表(list类型)提供的 clear() 方法。

del:根据索引值删除元素

del 是 Python 中的关键字,专门用来执行删除操作,它不仅可以删除整个列表,还可以删除列表中的某些元素。我们已经在《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("//www.3water.com/python/")
url.clear()
print(url)

运行结果:
[]

到此这篇关于Python list列表删除元素的4种方法的文章就介绍到这了,更多相关Python list列表删除内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python内置数据类型详解
Aug 18 Python
python的re模块应用实例
Sep 26 Python
Python文件操作基本流程代码实例
Dec 11 Python
TensorFlow saver指定变量的存取
Mar 10 Python
Python基础之函数的定义与使用示例
Mar 23 Python
python使用pymongo操作mongo的完整步骤
Apr 13 Python
Python基础之高级变量类型实例详解
Jan 03 Python
Python接口开发实现步骤详解
Apr 26 Python
Pycharm连接远程服务器过程图解
Apr 30 Python
Python urllib2运行过程原理解析
Jun 04 Python
Python3.7安装PyQt5 运行配置Pycharm的详细教程
Oct 15 Python
pytest fixtures装饰器的使用和如何控制用例的执行顺序
Jan 28 Python
Python面向对象编程之类的概念
Nov 01 #Python
python代码实现扫码关注公众号登录的实战
python编程实现清理微信重复缓存文件
Nov 01 #Python
python调用ffmpeg命令行工具便捷操作视频示例实现过程
Nov 01 #Python
Python字典的基础操作
Nov 01 #Python
Python集合的基础操作
Nov 01 #Python
python基础之类属性和实例属性
You might like
解析PHP获取当前网址及域名的实现代码
2013/06/23 PHP
PHP提示Deprecated: mysql_connect(): The mysql extension is deprecated的解决方法
2014/08/28 PHP
php缓冲输出实例分析
2015/01/05 PHP
详谈PHP编码转换问题
2015/07/28 PHP
php实现银联商务公众号+服务窗支付的示例代码
2019/10/12 PHP
在IE模态窗口中自由查看HTML源码的方法
2007/03/08 Javascript
TreeView 用法(有代码)(asp.net)
2011/07/15 Javascript
jQuery源码中的chunker 正则过滤符分析
2012/07/31 Javascript
解决Jquery load()加载GB2312页面时出现乱码的两种方案
2013/09/10 Javascript
浅析JavaScript中两种类型的全局对象/函数
2013/12/05 Javascript
JavaScript对象的property属性详解
2014/04/01 Javascript
JavaScript实现页面跳转的方式汇总
2016/05/16 Javascript
纯JS实现表单验证实例
2016/12/24 Javascript
AngularJS自定义指令实现面包屑功能完整实例
2017/05/17 Javascript
JavaScript箭头(arrow)函数详解
2017/06/04 Javascript
nodejs动态创建二维码的方法
2017/08/12 NodeJs
nodejs基于express实现文件上传的方法
2018/03/19 NodeJs
详解小程序不同页面之间通讯的解决方案
2018/11/23 Javascript
nodejs基础之多进程实例详解
2018/12/27 NodeJs
Python多线程和队列操作实例
2015/06/21 Python
用python与文件进行交互的方法
2018/03/01 Python
利用Python读取txt文档的方法讲解
2018/06/23 Python
python实现反转部分单向链表
2018/09/27 Python
对python中词典的values值的修改或新增KEY详解
2019/01/20 Python
利用Python半自动化生成Nessus报告的方法
2019/03/19 Python
不到20行代码用Python做一个智能聊天机器人
2019/04/19 Python
python的几种矩阵相乘的公式详解
2019/07/10 Python
python3.6+django2.0+mysql搭建网站过程详解
2019/07/24 Python
Python实现自动整理文件的脚本
2020/12/17 Python
详解CSS中iconfont的使用
2015/08/04 HTML / CSS
俄罗斯旅游网站:Tripadvisor俄罗斯
2017/03/21 全球购物
用JAVA SOCKET编程,读服务器几个字符,再写入本地显示
2012/11/25 面试题
扩大国家免疫规划实施方案
2014/03/21 职场文书
小学优秀班集体申报材料
2014/05/25 职场文书
六年级情感作文之500字
2019/10/23 职场文书
SpringBoot集成Redis的思路详解
2021/10/16 Redis