python实现删除列表中某个元素的3种方法


Posted in Python onJanuary 15, 2020

python中关于删除list中的某个元素,一般有三种方法:remove、pop、del:

1.remove: 删除单个元素,删除首个符合条件的元素,按值删除

举例说明:

>>> str=[1,2,3,4,5,2,6]
>>> str.remove(2)
>>> str

[1, 3, 4, 5, 2, 6]

2.pop: 删除单个或多个元素,按位删除(根据索引删除)

>>> str=[0,1,2,3,4,5,6]
>>> str.pop(1) #pop删除时会返回被删除的元素
>>> str

[0, 2, 3, 4, 5, 6]

>>> str2=['abc','bcd','dce']
>>> str2.pop(2)
'dce'
>>> str2

['abc', 'bcd']

3.del:它是根据索引(元素所在位置)来删除

举例说明:

>>> str=[1,2,3,4,5,2,6]
>>> del str[1]
>>> str

[1, 3, 4, 5, 2, 6]

>>> str2=['abc','bcd','dce']
>>> del str2[1]
>>> str2

['abc', 'dce']

除此之外,del还可以删除指定范围内的值。

>>> str=[0,1,2,3,4,5,6]
>>> del str[2:4] #删除从第2个元素开始,到第4个为止的元素(但是不包括尾部元素)
>>> str

[0, 1, 4, 5, 6]

del 也可以删除整个数据对象(列表、集合等)

>>> str=[0,1,2,3,4,5,6]
>>> del str
>>> str #删除后,找不到对象

Traceback (most recent call last):
File "<pyshell#27>", line 1, in <module>
str
NameError: name 'str' is not defined

注意:del是删除引用(变量)而不是删除对象(数据),对象由自动垃圾回收机制(GC)删除。

补充: 删除元素的变相方法

s1 = (1, 2, 3, 4, 5, 6)
s2 = (2, 3, 5)
s3 = []
for i in s1:
  if i not in s2:
    s3.append(i)
print('s1_1:', s1)
s1 = s3
print('s2:', s2)
print('s3:', s3)
print('s1_2:', s1)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
ssh批量登录并执行命令的python实现代码
May 25 Python
virtualenv实现多个版本Python共存
Aug 21 Python
Python字符串和字典相关操作的实例详解
Sep 23 Python
Python实现统计给定列表中指定数字出现次数的方法
Apr 11 Python
python实现二维插值的三维显示
Dec 17 Python
python-tkinter之按钮的使用,开关方法
Jun 11 Python
python 画3维轨迹图并进行比较的实例
Dec 06 Python
Python3基本输入与输出操作实例分析
Feb 14 Python
python json 递归打印所有json子节点信息的例子
Feb 27 Python
python3中celery异步框架简单使用+守护进程方式启动
Jan 20 Python
selenium与xpath之获取指定位置的元素的实现
Jan 26 Python
Python Django搭建文件下载服务器的实现
May 10 Python
python opencv根据颜色进行目标检测的方法示例
Jan 15 #Python
Python基于Tensor FLow的图像处理操作详解
Jan 15 #Python
OpenCV哈里斯(Harris)角点检测的实现
Jan 15 #Python
Pytorch模型转onnx模型实例
Jan 15 #Python
Python通过TensorFLow进行线性模型训练原理与实现方法详解
Jan 15 #Python
详解Python实现进度条的4种方式
Jan 15 #Python
pytorch常见的Tensor类型详解
Jan 15 #Python
You might like
php设计模式 Command(命令模式)
2011/06/26 PHP
destoon设置自定义搜索的方法
2014/06/21 PHP
php返回相对时间(如:20分钟前,3天前)的方法
2015/04/14 PHP
利用ajax和PHP实现简单的流程管理
2017/03/23 PHP
微信第三方登录(原生)demo【必看篇】
2017/05/26 PHP
PHP单文件上传原理及上传函数的封装操作示例
2019/09/02 PHP
对laravel的session获取与存取方法详解
2019/10/08 PHP
phpinfo的知识点总结
2019/10/10 PHP
用ADODB.Stream转换
2007/01/22 Javascript
10个基于浏览器的JavaScript调试工具分享
2013/02/07 Javascript
js判断当页面无法回退时关闭网页否则就history.go(-1)
2014/08/07 Javascript
JavaScript中的方法调用详细介绍
2014/12/30 Javascript
使用基于Node.js的构建工具Grunt来发布ASP.NET MVC项目
2016/02/15 Javascript
Angularjs实现多个页面共享数据的方式
2016/03/29 Javascript
拥Bootstrap入怀——导航栏篇
2016/05/30 Javascript
浅析如何利用JavaScript进行语音识别
2016/10/27 Javascript
Bootstrap3 多选和单选框(checkbox)
2016/12/29 Javascript
ajax接收后台数据在html页面显示
2017/02/19 Javascript
Bootstrap fileinput组件封装及使用详解
2017/03/10 Javascript
javascript实现延时显示提示框效果
2017/06/01 Javascript
简单谈谈js的数据类型
2017/09/25 Javascript
React Native自定义控件底部抽屉菜单的示例
2018/02/08 Javascript
js实现滑动滑块验证登录
2020/07/24 Javascript
[34:47]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第一场 11.18
2020/11/18 DOTA
python在Windows下安装setuptools(easy_install工具)步骤详解
2016/07/01 Python
Python中函数eval和ast.literal_eval的区别详解
2017/08/10 Python
python使用pip安装SciPy、SymPy、matplotlib教程
2019/11/20 Python
Python爬虫之Selenium实现窗口截图
2020/12/04 Python
纯CSS3打造属于自己的“小黄人”
2016/03/14 HTML / CSS
利用 CSS3 实现的无缝轮播功能代码
2017/09/25 HTML / CSS
五个2015 年最佳HTML5 框架
2015/11/11 HTML / CSS
综合内勤岗位职责
2014/04/14 职场文书
期中考试反思800字
2014/05/01 职场文书
八年级地理课件资料及考点知识分享
2019/08/30 职场文书
创业计划书之电动车企业
2019/10/11 职场文书
微软Win11 全新照片应用面向 Dev预览版推出 新版本上手体验图集
2022/09/23 数码科技