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 相关文章推荐
对于Python异常处理慎用“except:pass”建议
Apr 02 Python
使用IPython下的Net-SNMP来管理类UNIX系统的教程
Apr 15 Python
使用Python求解最大公约数的实现方法
Aug 20 Python
python安装mysql-python简明笔记(ubuntu环境)
Jun 25 Python
PyQt5每天必学之切换按钮
Aug 20 Python
pandas dataframe添加表格框线输出的方法
Feb 08 Python
Python递归函数实例讲解
Feb 27 Python
Python在cmd上打印彩色文字实现过程详解
Aug 07 Python
python 求定积分和不定积分示例
Nov 20 Python
python简单的三元一次方程求解实例
Apr 02 Python
从0到1使用python开发一个半自动答题小程序的实现
May 12 Python
Python基础之教你怎么在M1系统上使用pandas
May 08 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
PHILIPS AE3805收音机的分析打磨
2021/03/02 无线电
Base64在线编码解码实现代码 演示与下载
2011/01/08 PHP
实测在class的function中include的文件中非php的global全局环境
2013/07/15 PHP
Thinkphp模板标签if和eq的区别和比较实例分析
2015/07/01 PHP
PHP 读取大文件并显示的简单实例(推荐)
2016/08/12 PHP
PHP实现的简单组词算法示例
2018/04/10 PHP
Thinkphp5.0 框架Model模型简单用法分析
2019/10/11 PHP
PHP pthreads v3下worker和pool的使用方法示例
2020/02/21 PHP
ThinkPHP5.1的权限控制怎么写?分享一个AUTH权限控制
2021/03/09 PHP
javascript学习之闭包分析
2010/12/02 Javascript
jquery的attr方法禁用表单元素禁用输入内容
2014/06/23 Javascript
谷歌浏览器不支持showModalDialog模态对话框的解决方法
2014/09/22 Javascript
浅谈EasyUI中编辑treegrid的方法
2015/03/01 Javascript
QQ登录背景闪动效果附效果演示源码下载
2015/09/22 Javascript
微信小程序 条件渲染详解
2016/10/09 Javascript
Angular2 组件间通过@Input @Output通讯示例
2017/08/24 Javascript
简单学习5种处理Vue.js异常的方法
2019/06/17 Javascript
vue实现element表格里表头信息提示功能(推荐)
2019/11/20 Javascript
python3大文件解压和基本操作
2017/12/15 Python
Django中反向生成models.py的实例讲解
2018/05/30 Python
详解Django项目中模板标签及模板的继承与引用(网站中快速布置广告)
2019/03/27 Python
python Django中models进行模糊查询的示例
2019/07/18 Python
pytorch cuda上tensor的定义 以及减少cpu的操作详解
2020/06/23 Python
用Python实现童年贪吃蛇小游戏功能的实例代码
2020/12/07 Python
Python爬虫模拟登陆哔哩哔哩(bilibili)并突破点选验证码功能
2020/12/21 Python
python sleep和wait对比总结
2021/02/03 Python
THE OUTNET美国官网:国际设计师品牌折扣网站
2017/03/07 全球购物
什么是URL
2015/12/13 面试题
毕业生求职信的经典写法
2014/01/31 职场文书
优秀教师先进个人事迹材料
2014/08/31 职场文书
党的群众路线学习笔记
2014/11/06 职场文书
保姆聘用合同
2015/09/21 职场文书
Vue如何实现组件间通信
2021/05/15 Vue.js
Anaconda安装pytorch及配置PyCharm 2021环境
2021/06/04 Python
详解Java实践之建造者模式
2021/06/18 Java/Android
一次MySQL启动导致的事故实战记录
2021/09/15 MySQL