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 socket 超时设置 errno 10054
Jul 01 Python
在Docker上部署Python的Flask框架的教程
Apr 08 Python
解读Django框架中的低层次缓存API
Jul 24 Python
Python3调用微信企业号API发送文本消息代码示例
Nov 10 Python
Python+matplotlib实现填充螺旋实例
Jan 15 Python
使用apidocJs快速生成在线文档的实例讲解
Feb 07 Python
Python爬虫常用小技巧之设置代理IP
Sep 13 Python
python3.6.3转化为win-exe文件发布的方法
Oct 31 Python
python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例
Feb 27 Python
Selenium+BeautifulSoup+json获取Script标签内的json数据
Dec 07 Python
Django debug为True时,css加载失败的解决方案
Apr 24 Python
Python制作春联的示例代码
Jan 22 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/10/09 PHP
PHP base64编码后解码乱码的解决办法
2014/06/19 PHP
JavaScript 高级篇之函数 (四)
2012/04/07 Javascript
Array.prototype.concat不是通用方法反驳[译]
2012/09/20 Javascript
JQuery onload、ready概念介绍及使用方法
2013/04/27 Javascript
javascript中的作用域和上下文使用简要概述
2013/12/05 Javascript
JavaScript动态设置div的样式的方法
2015/12/26 Javascript
AngularJS使用angular-formly进行表单验证
2015/12/27 Javascript
jquery实现转盘抽奖功能
2017/01/06 Javascript
微信小程序开发的四十个技术窍门总结(推荐)
2017/01/23 Javascript
原生JS封装animate运动框架的实例
2017/10/12 Javascript
vue2.0 兄弟组件(平级)通讯的实现代码
2018/01/15 Javascript
vue基础之v-bind属性、class和style用法分析
2019/03/11 Javascript
React组件对子组件children进行加强的方法
2019/06/23 Javascript
Vue中的transition封装组件的实现方法
2019/08/13 Javascript
如何在Vue.JS中使用图标组件
2020/08/04 Javascript
基于Python的文件类型和字符串详解
2017/12/21 Python
Python中的groupby分组功能的实例代码
2018/07/11 Python
linux安装Python3.4.2的操作方法
2018/09/28 Python
python使用pip安装SciPy、SymPy、matplotlib教程
2019/11/20 Python
tensorflow:指定gpu 限制使用量百分比,设置最小使用量的实现
2020/02/06 Python
Pytorch模型迁移和迁移学习,导入部分模型参数的操作
2021/03/03 Python
纯CSS和jQuery实现的在页面顶部显示的进度条效果2例(仿手机浏览器进度条效果)
2014/04/16 HTML / CSS
html5中为audio标签增加停止按钮动作实现方法
2013/01/04 HTML / CSS
密封类可以有虚函数吗
2014/08/11 面试题
介绍一下Java中标识符的命名规则
2014/02/03 面试题
银行柜员应聘推荐信范文
2013/11/24 职场文书
个人收入证明范本
2014/01/12 职场文书
交通事故检查书范文
2014/01/30 职场文书
工商治理实习生的自我评价分享
2014/02/20 职场文书
颁奖晚会主持词
2014/03/25 职场文书
租房协议书
2014/04/10 职场文书
大学生交通专业求职信
2014/09/01 职场文书
终止或解除劳动合同及劳动关系的证明书
2014/10/06 职场文书
九年级数学教学反思
2016/02/17 职场文书
Windows Server 2012配置DNS服务器的方法
2022/04/29 Servers