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 06 Python
Python爬虫包 BeautifulSoup  递归抓取实例详解
Jan 28 Python
读取json格式为DataFrame(可转为.csv)的实例讲解
Jun 05 Python
Python实现基于POS算法的区块链
Aug 07 Python
利用Python查看微信共同好友功能的实现代码
Apr 24 Python
python自动化实现登录获取图片验证码功能
Nov 20 Python
解决python ThreadPoolExecutor 线程池中的异常捕获问题
Apr 08 Python
python matplotlib.pyplot.plot()参数用法
Apr 14 Python
python requests包的request()函数中的参数-params和data的区别介绍
May 05 Python
Python趣味入门教程之循环语句while
Aug 26 Python
python自动生成证件号的方法示例
Jan 14 Python
Python如何导出导入所有依赖包详解
Jun 08 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去除字符串最后一个字符的三种方法实例
2017/03/01 PHP
JavaScript 高级篇之闭包、模拟类,继承(五)
2012/04/07 Javascript
javascript表单验证 - Parsley.js使用和配置
2013/01/25 Javascript
js动态修改input输入框的type属性(实现方法解析)
2013/11/13 Javascript
表格奇偶行设置不同颜色的核心JS代码
2013/12/24 Javascript
ExtJS中设置下拉列表框不可编辑的方法
2014/05/07 Javascript
jQuery实现折线图的方法
2015/02/28 Javascript
数据分析软件之FineReport教程:[5]参数界面JS(全)
2015/08/13 Javascript
全面了解javascript三元运算符
2016/06/27 Javascript
vue中的scope使用详解
2017/10/29 Javascript
angularjs 的数据绑定实现原理
2018/07/02 Javascript
JS中数据结构与算法---排序算法(Sort Algorithm)实例详解
2019/06/17 Javascript
vue2.* element tabs tab-pane 动态加载组件操作
2020/07/19 Javascript
[01:36:57]【09DOTA2第一视角】小骷髅
2014/04/16 DOTA
[34:56]Ti4冒泡赛LGD vs Liquid 1
2014/07/14 DOTA
[03:27]《辉夜杯》线下训练营 导师CU和海涛指点迷津
2015/10/23 DOTA
python实现simhash算法实例
2014/04/25 Python
Python中字符编码简介、方法及使用建议
2015/01/08 Python
python lambda表达式在sort函数中的使用详解
2019/08/28 Python
python如何使用jt400.jar包代码实例
2019/12/20 Python
Python 使用threading+Queue实现线程池示例
2019/12/21 Python
Pytorch之Tensor和Numpy之间的转换的实现方法
2020/09/03 Python
Python常用base64 md5 aes des crc32加密解密方法汇总
2020/11/06 Python
使用分层画布来优化HTML5渲染的教程
2015/05/08 HTML / CSS
Gucci法国官方网站:意大利奢侈品牌
2018/07/25 全球购物
STAUD官方网站:洛杉矶独有的闲适风格
2019/04/11 全球购物
元旦晚会策划方案
2014/02/18 职场文书
《忆江南》教学反思
2014/04/07 职场文书
中班教师个人总结
2015/02/05 职场文书
体育个人工作总结
2015/02/09 职场文书
行政主管岗位职责范本
2015/04/09 职场文书
2015年外贸业务员工作总结范文
2015/05/23 职场文书
培训后的感想
2015/08/07 职场文书
如何使用Python提取Chrome浏览器保存的密码
2021/06/09 Python
python使用matplotlib绘制图片时x轴的刻度处理
2021/08/30 Python
python_tkinter事件类型详情
2022/03/20 Python