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 相关文章推荐
解决windows下Sublime Text 2 运行 PyQt 不显示的方法分享
Jun 18 Python
Tensorflow tf.dynamic_partition矩阵拆分示例(Python3)
Feb 07 Python
python程序输出无内容的解决方式
Apr 09 Python
查看已安装tensorflow版本的方法示例
Apr 19 Python
python中对二维列表中一维列表的调用方法
Jun 07 Python
python中有帮助函数吗
Jun 19 Python
pycharm 实现光标快速移动到括号外或行尾的操作
Feb 05 Python
解决pip安装tensorflow中出现的no module named tensorflow.python 问题方法
Feb 20 Python
python利用opencv实现颜色检测
Feb 23 Python
深入理解python多线程编程
Apr 18 Python
Python pygame实现中国象棋单机版源码
Jun 20 Python
Python各协议下socket黏包问题原理
Apr 12 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
第四节 构造函数和析构函数 [4]
2006/10/09 PHP
使用php get_headers 判断URL是否有效的解决办法
2013/04/27 PHP
ThinkPHP的I方法使用详解
2014/06/18 PHP
Yii使用find findAll查找出指定字段的实现方法
2014/09/05 PHP
PHP字符串word末字符实现大小写互换的方法
2014/11/10 PHP
jQuery获取json后使用zy_tmpl生成下拉菜单
2015/03/27 PHP
php常用数组函数实例小结
2016/12/29 PHP
jQuery对象和DOM对象的相互转化实现代码
2010/03/02 Javascript
javascript几个易错点记录
2014/11/26 Javascript
JQuery实现的购物车功能(可以减少或者添加商品并自动计算价格)
2015/01/13 Javascript
jQuery实现网站添加高亮突出显示效果的方法
2015/06/26 Javascript
js中的内部属性与delete操作符介绍
2015/08/10 Javascript
Nodejs爬虫进阶教程之异步并发控制
2016/02/15 NodeJs
jQuery控制frames及frame页面JS的方法
2016/03/08 Javascript
简单学习vue指令directive
2016/11/03 Javascript
浅谈MVC+EF easyui dataGrid 动态加载分页表格
2016/11/10 Javascript
jQuery插件zTree实现删除树节点的方法示例
2017/03/08 Javascript
JavaScript实现简单图片轮播效果
2017/08/21 Javascript
vue2.0页面前进刷新回退不刷新的实现方法
2018/07/31 Javascript
Nodejs中获取当前函数被调用的行数及文件名详解
2018/12/12 NodeJs
使用webpack4编译并压缩ES6代码的方法示例
2019/04/24 Javascript
vue实现购物车结算功能
2020/06/18 Javascript
RC4文件加密的python实现方法
2015/06/30 Python
在scrapy中使用phantomJS实现异步爬取的方法
2018/12/17 Python
python实现名片管理器的示例代码
2019/12/17 Python
重写django的model下的objects模型管理器方式
2020/05/15 Python
解决python便携版无法直接运行py文件的问题
2020/09/01 Python
详解python实现可视化的MD5、sha256哈希加密小工具
2020/09/14 Python
html5清空画布方法(三种)
2017/10/16 HTML / CSS
总经理岗位职责范本
2014/02/02 职场文书
人代会标语
2014/06/30 职场文书
假期安全教育广播稿
2014/10/04 职场文书
无子女夫妻离婚协议书(4篇)
2014/10/20 职场文书
2016元旦文艺汇演主持词(开场白+结束语)
2015/12/03 职场文书
Mysql事务索引知识汇总
2022/03/17 MySQL
详解Nginx的超时keeplive_timeout配置步骤
2022/05/25 Servers