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获取单个程序CPU使用情况趋势图
Mar 10 Python
python搜索指定目录的方法
Apr 29 Python
mysql 之通过配置文件链接数据库
Aug 12 Python
使用pandas读取csv文件的指定列方法
Apr 21 Python
python 查找文件名包含指定字符串的方法
Jun 05 Python
python实现时间o(1)的最小栈的实例代码
Jul 23 Python
python粘包问题及socket套接字编程详解
Jun 29 Python
python获取Linux发行版名称
Aug 30 Python
python Dijkstra算法实现最短路径问题的方法
Sep 19 Python
python实现五子棋游戏(pygame版)
Jan 19 Python
python读取mysql数据绘制条形图
Mar 25 Python
如何使用Python对NetCDF数据做空间相关分析
Apr 21 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 禁止页面缓存输出
2009/01/07 PHP
解析PHP强制转换类型及远程管理插件的安全隐患
2014/06/30 PHP
php连接oracle数据库的方法(测试成功)
2016/05/26 PHP
thinkphp实现把数据库中的列的值存到下拉框中的方法
2017/01/20 PHP
php curl上传、下载、https登陆实现代码
2017/07/23 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
使用javascript实现有效时间的控制,并显示将要过期的时间
2014/01/02 Javascript
jquery动态添加删除一行数据示例
2014/06/12 Javascript
nodejs中实现路由功能
2014/12/29 NodeJs
jQuery实现字符串按指定长度加入特定内容的方法
2015/03/11 Javascript
jQuery实现转动随机数抽奖效果的方法
2015/05/21 Javascript
简单学习vue指令directive
2016/11/03 Javascript
Vue响应式添加、修改数组和对象的值
2017/03/20 Javascript
基于JavaScript实现瀑布流效果
2017/03/29 Javascript
vue.js框架实现表单排序和分页效果
2017/08/09 Javascript
JavaScript之创意时钟项目(实例讲解)
2017/10/23 Javascript
微信小程序返回多级页面的实现方法
2017/10/27 Javascript
Angular ng-animate和ng-cookies用法详解
2018/04/18 Javascript
JS实现同一DOM元素上onClick事件与onDblClick事件并存的解决方法
2018/06/07 Javascript
如何为你的JS项目添加智能提示与类型检查详解
2019/03/12 Javascript
LayUI数据接口返回实体封装的例子
2019/09/12 Javascript
浅谈webpack构建工具配置和常用插件总结
2020/05/11 Javascript
Python正则表达式的使用范例详解
2014/08/08 Python
设计模式中的原型模式在Python程序中的应用示例
2016/03/02 Python
Python爬虫之正则表达式基本用法实例分析
2018/08/08 Python
python随机数分布random测试
2018/08/27 Python
Python import与from import使用及区别介绍
2018/09/06 Python
python实现归并排序算法
2018/11/22 Python
python lambda表达式在sort函数中的使用详解
2019/08/28 Python
浅析python内置模块collections
2019/11/15 Python
Keras预训练的ImageNet模型实现分类操作
2020/07/07 Python
CSS3中的opacity属性使用教程
2015/08/19 HTML / CSS
网上书店创业计划书
2014/01/12 职场文书
开工庆典邀请函范文
2014/01/16 职场文书
高一地理教学反思
2014/01/18 职场文书
2014年安全生产大检查方案
2014/05/13 职场文书