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 list操作用法总结
Nov 10 Python
python 2.6.6升级到python 2.7.x版本的方法
Oct 09 Python
python交互式图形编程实例(三)
Nov 17 Python
python实现指定字符串补全空格、前面填充0的方法
Nov 16 Python
Python使用os.listdir()和os.walk()获取文件路径与文件下所有目录的方法
Apr 01 Python
在Python中合并字典模块ChainMap的隐藏坑【推荐】
Jun 27 Python
python粘包问题及socket套接字编程详解
Jun 29 Python
Python IDE Pycharm中的快捷键列表用法
Aug 08 Python
django echarts饼图数据动态加载的实例
Aug 12 Python
学习Django知识点分享
Sep 11 Python
python实现输入任意一个大写字母生成金字塔的示例
Oct 27 Python
如何编写python的daemon程序
Jan 07 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
做一个有下拉功能的留言版
2006/10/09 PHP
php带密码功能并下载远程文件保存本地指定目录 修改加强版
2010/05/16 PHP
比较详细PHP生成静态页面教程
2012/01/10 PHP
Yii使用技巧大汇总
2015/12/29 PHP
PHP程序中的文件锁、互斥锁、读写锁使用技巧解析
2016/03/21 PHP
php微信开发接入
2016/08/27 PHP
Yii框架核心组件类实例详解
2019/08/06 PHP
php-7.3.6 编译安装过程
2020/02/11 PHP
JavaScript 私有成员分析
2009/01/13 Javascript
Javascript面向对象之四 继承
2011/02/08 Javascript
javascript搜索框效果实现方法
2015/05/14 Javascript
jquery仿百度百科底部浮动导航特效
2015/08/08 Javascript
node.js抓取并分析网页内容有无特殊内容的js文件
2015/11/17 Javascript
浅析JS操作DOM的一些常用方法
2016/05/13 Javascript
AngularJS监听路由变化的方法
2017/03/07 Javascript
浅析vue中的MVVM实现原理
2019/03/04 Javascript
解决vue.js中settimeout遇到的问题(时间参数短效果不稳定)
2020/07/21 Javascript
VUE子组件向父组件传值详解(含传多值及添加额外参数场景)
2020/09/01 Javascript
vue 表单输入框不支持focus及blur事件的解决方案
2020/11/17 Vue.js
[01:32]2014DOTA2西雅图邀请赛 CIS我们有信心进入正赛
2014/07/08 DOTA
[02:56]DOTA2上海特锦赛小组赛解说FreeAgain采访花絮
2016/02/27 DOTA
python版本的仿windows计划任务工具
2018/04/30 Python
使用Py2Exe for Python3创建自己的exe程序示例
2018/10/31 Python
基于Python对数据shape的常见操作详解
2018/12/25 Python
pytorch实现用CNN和LSTM对文本进行分类方式
2020/01/08 Python
python中rc1什么意思
2020/06/19 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
2020/11/24 Python
几款主流好用的富文本编辑器(所见即所得常用编辑器)介绍
2021/03/17 Javascript
美国快时尚彩妆品牌:Winky Lux(透明花瓣润唇膏)
2018/11/06 全球购物
Interrail法国:乘火车探索欧洲,最受欢迎的欧洲铁路通票
2019/08/27 全球购物
公司离职证明范本(5篇)
2014/09/17 职场文书
Python带你从浅入深探究Tuple(基础篇)
2021/05/15 Python
nginx部署多前端项目的几种方法
2021/05/25 Servers
Spring Data JPA的Audit功能审计数据库的变更
2021/06/26 Java/Android
Python爬虫中urllib3与urllib的区别是什么
2021/07/21 Python
详解Spring Security中的HttpBasic登录验证模式
2022/03/17 Java/Android