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 21 Python
python3下实现搜狗AI API的代码示例
Apr 10 Python
Python玩转Excel的读写改实例
Feb 22 Python
对PyQt5中的菜单栏和工具栏实例详解
Jun 20 Python
python批量修改图片尺寸,并保存指定路径的实现方法
Jul 04 Python
全面了解django的缓存机制及使用方法
Jul 22 Python
python多线程分块读取文件
Aug 29 Python
Python Numpy 自然数填充数组的实现
Nov 28 Python
Python实现捕获异常发生的文件和具体行数
Apr 25 Python
在python3.64中安装pyinstaller库的方法步骤
Jun 02 Python
通过实例简单了解Python sys.argv[]使用方法
Aug 04 Python
TensorFlow低版本代码自动升级为1.0版本
Feb 20 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
我的论坛源代码(十)
2006/10/09 PHP
基于mysql的论坛(1)
2006/10/09 PHP
url decode problem 解决方法
2011/12/26 PHP
PHP中substr函数字符串截取用法分析
2016/01/07 PHP
PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)
2016/01/07 PHP
PHP实现求解最长公共子串问题的方法
2017/11/17 PHP
JavaScript动态创建div等元素实例讲解
2016/01/06 Javascript
JS动态遍历json中所有键值对的方法(不知道属性名的情况)
2016/12/28 Javascript
jQuery插件select2利用ajax高效查询大数据列表(可搜索、可分页)
2017/05/19 jQuery
Bootstrap提示框效果的实例代码
2017/07/12 Javascript
Vue 滚动行为的具体使用方法
2017/09/13 Javascript
webpack4+express+mongodb+vue实现增删改查的示例
2018/11/08 Javascript
vue通过video.js解决m3u8视频播放格式的方法
2019/07/30 Javascript
vue+eslint+vscode配置教程
2019/08/09 Javascript
记录vue做微信自定义分享的一些问题
2019/09/12 Javascript
vue+element表格导出为Excel文件
2019/09/26 Javascript
Vue 实现输入框新增搜索历史记录功能
2019/10/15 Javascript
jquery制作的移动端购物车效果完整示例
2020/02/24 jQuery
[04:02]DOTA2上海特锦赛小组赛第二日recap精彩回顾
2016/02/28 DOTA
Python简单实现控制电脑的方法
2018/01/22 Python
numpy使用fromstring创建矩阵的实例
2018/06/15 Python
python批量修改图片尺寸,并保存指定路径的实现方法
2019/07/04 Python
浅析matlab中imadjust函数
2020/02/27 Python
Python进程的通信Queue、Pipe实例分析
2020/03/30 Python
Django filter动态过滤与排序实现过程解析
2020/11/26 Python
纯CSS3代码实现文字描边
2016/04/25 HTML / CSS
阿迪达斯德国官方网站:adidas德国
2017/07/12 全球购物
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上
2013/07/06 面试题
大学生党员学习焦裕禄精神思想汇报
2014/09/10 职场文书
学生喝酒检讨书500字
2014/11/02 职场文书
2014年信贷员工作总结
2014/11/18 职场文书
开会通知短信大全
2015/04/20 职场文书
导游词之江南园林狮子林
2019/09/16 职场文书
HTML+CSS制作心跳特效的实现
2021/05/26 HTML / CSS
sql server删除前1000行数据的方法实例
2021/08/30 SQL Server
Windows Server 版本 20H2 于 8 月 9 日停止支持,Win10 版本 21H1 将于 12 月结束支
2022/07/23 数码科技