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数组的处理代码
Jan 04 Python
Python的“二维”字典 (two-dimension dictionary)定义与实现方法
Apr 27 Python
Python selenium 三种等待方式详解(必会)
Sep 15 Python
Python输出带颜色的字符串实例
Oct 10 Python
python+selenium打印当前页面的titl和url方法
Jun 22 Python
PyCharm 配置远程python解释器和在本地修改服务器代码
Jul 23 Python
pytorch-RNN进行回归曲线预测方式
Jan 14 Python
python实现滑雪游戏
Feb 22 Python
python 实现读取csv数据,分类求和 再写进 csv
May 18 Python
互斥锁解决 Python 中多线程共享全局变量的问题(推荐)
Sep 28 Python
python切割图片的示例
Nov 12 Python
Python爬取科目四考试题库的方法实现
Mar 30 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类
2006/11/25 PHP
php 数组二分法查找函数代码
2010/02/16 PHP
深入理解PHP中的global
2014/08/19 PHP
Laravel重写用户登录简单示例
2016/10/08 PHP
PHP自定义错误处理的方法分析
2018/12/19 PHP
php curl简单采集图片生成base64编码(并附curl函数参数说明)
2019/02/15 PHP
JS解析XML的实现代码
2009/11/12 Javascript
在多个页面使用同一个HTML片段的代码
2011/03/04 Javascript
再谈querySelector和querySelectorAll的区别与联系
2012/04/20 Javascript
JS中prototype关键字的功能介绍及使用示例
2013/07/21 Javascript
js在数组中删除重复的元素自保留一个(两种实现思路)
2014/08/22 Javascript
推荐4个原生javascript常用的函数
2015/01/12 Javascript
js实现可得到不同颜色值的颜色选择器实例
2015/02/28 Javascript
jquery代码实现简单的随机图片瀑布流效果
2015/04/20 Javascript
JavaScript+CSS实现仿天猫侧边网页菜单效果
2015/08/25 Javascript
JQuery实现DIV其他动画效果的简单实例
2016/09/18 Javascript
EasyUI 结合JS导出Excel文件的实现方法
2016/11/10 Javascript
Chrome浏览器的alert弹窗禁止再次弹出后恢复的方法
2016/12/30 Javascript
详解使用nvm安装node.js
2017/07/18 Javascript
解决JQuery全选/反选第二次失效的问题
2017/10/11 jQuery
AngularJs 禁止模板缓存的方法
2017/11/28 Javascript
小程序实现页面顶部选项卡效果
2018/11/06 Javascript
layui 实现加载动画以及非真实加载进度的方法
2019/09/23 Javascript
vue用BMap百度地图实现即时搜索功能
2019/09/26 Javascript
uploadify插件实现多个图片上传并预览
2019/09/30 Javascript
vue input标签通用指令校验的实现
2019/11/05 Javascript
[46:50]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python Matplotlib实现三维数据的散点图绘制
2019/03/19 Python
全网首秀之Pycharm十大实用技巧(推荐)
2020/04/27 Python
CSS3五个技巧给你的网站带来出色的效果
2009/04/02 HTML / CSS
Hoka One One法国官网:美国专业跑鞋品牌
2018/12/29 全球购物
运动会通讯稿50字
2014/01/30 职场文书
应聘护士求职信
2014/07/21 职场文书
领导班子对照检查材料
2014/09/22 职场文书
学习十八大标语
2014/10/09 职场文书
党员对十八届四中全会的期盼思想汇报范文
2014/10/17 职场文书