对python中数组的del,remove,pop区别详解


Posted in Python onNovember 07, 2018

以a=[1,2,3] 为例,似乎使用del, remove, pop一个元素2 之后 a都是为 [1,3],

如下:

>>> a=[1,2,3] 
>>> a.remove(2) 
>>> a 
[1, 3] 
>>> a=[1,2,3] 
>>> del a[1] 
>>> a 
[1, 3] 
>>> a= [1,2,3] 
>>> a.pop(1) 
2 
>>> a 
[1, 3] 
>>>

那么Python对于列表的del, remove, pop操作,它们之间有何区别呢?

首先,remove 是删除首个符合条件的元素。并不是删除特定的索引。

如下例:

>>> a = [0, 2, 2, 3] 
>>> a.remove(2) 
>>> a 
[0, 2, 3]

而对于 del 来说,它是根据索引(元素所在位置)来删除的,如下例:

>>> a = [3, 2, 2, 1] 
>>> del a[1] 
[3, 2, 1]

第1个元素为a[0] --是以0开始计数的。则a[1]是指第2个元素,即里面的值2.

最后我们再看看pop

>>> a = [4, 3, 5] 
>>> a.pop(1) 
3 
>>> a 
[4, 5]

pop返回的是你弹出的那个数值。

所以使用时要根据你的具体需求选用合适的方法。

另外它们如果出错,出错模式也是不一样的。

注意看下面区别:

>>> a = [4, 5, 6] 
>>> a.remove(7) 
Traceback (most recent call last): 
 File "<stdin>", line 1, in <module> 
ValueError: list.remove(x): x not in list 
>>> del a[7] 
Traceback (most recent call last): 
 File "<stdin>", line 1, in <module> 
IndexError: list assignment index out of range 
>>> a.pop(7) 
Traceback (most recent call last): 
 File "<stdin>", line 1, in <module> 
IndexError: pop index out of range

以上这篇对python中数组的del,remove,pop区别详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现求解列表中元素的排列和组合问题
Mar 15 Python
python3+PyQt5使用数据库表视图
Apr 24 Python
python多进程提取处理大量文本的关键词方法
Jun 05 Python
对python3中pathlib库的Path类的使用详解
Oct 14 Python
Python并行分布式框架Celery详解
Oct 15 Python
Python使用random.shuffle()打乱列表顺序的方法
Nov 08 Python
详解配置Django的Celery异步之路踩坑
Nov 25 Python
Python 调用PIL库失败的解决方法
Jan 08 Python
python打造爬虫代理池过程解析
Aug 15 Python
python设置表格边框的具体方法
Jul 17 Python
Tensorflow使用Anaconda、pycharm安装记录
Jul 29 Python
Django Admin后台模型列表页面如何添加自定义操作按钮
Nov 11 Python
对Python中plt的画图函数详解
Nov 07 #Python
python使用matplotlib绘制热图
Nov 07 #Python
Django objects的查询结果转化为json的三种方式的方法
Nov 07 #Python
Python将一个Excel拆分为多个Excel
Nov 07 #Python
python计算两个矩形框重合百分比的实例
Nov 07 #Python
numpy 计算两个数组重复程度的方法
Nov 07 #Python
python中for循环输出列表索引与对应的值方法
Nov 07 #Python
You might like
深入理解PHP之数组(遍历顺序)  Laruence原创
2012/06/13 PHP
单点登录 Ucenter示例分析
2013/10/29 PHP
Symfony2之session与cookie用法小结
2016/03/18 PHP
PHP错误和异常处理功能模块示例
2016/11/12 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
JS代码判断IE6,IE7,IE8,IE9的函数代码
2013/08/02 Javascript
jquery实现鼠标拖动图片效果示例代码
2014/01/09 Javascript
javascript跨域的4种方法和原理详解
2014/04/08 Javascript
jQuery中使用each处理json数据
2015/04/23 Javascript
14款经典网页图片和文字特效的jQuery插件-前端开发必备
2015/08/25 Javascript
BootStrap日期控件在模态框中选择时间下拉菜单无效的原因及解决办法(火狐下不能点击)
2016/08/18 Javascript
jquery对象和DOM对象的相互转换详解
2016/10/18 Javascript
Vue网页html转换PDF(最低兼容ie10)的思路详解
2017/08/24 Javascript
vue里input根据value改变背景色的实例
2018/09/29 Javascript
Vue入门之数量加减运算操作示例
2018/12/11 Javascript
Mpvue中使用Vant Weapp组件库的方法步骤
2019/05/16 Javascript
Vue  webpack 项目自动打包压缩成zip文件的方法
2019/07/24 Javascript
vuex管理状态 刷新页面保持不被清空的解决方案
2019/11/11 Javascript
JS操作Fckeditor的一些常用方法(获取、插入等)
2020/02/19 Javascript
简要讲解Python编程中线程的创建与锁的使用
2016/02/28 Python
python 实现读取一个excel多个sheet表并合并的方法
2019/02/12 Python
python 检查数据中是否有缺失值,删除缺失值的方式
2019/12/02 Python
Python实现钉钉订阅消息功能
2020/01/14 Python
Python faker生成器生成虚拟数据代码实例
2020/07/20 Python
Pytorch - TORCH.NN.INIT 参数初始化的操作
2021/02/27 Python
印度在线内衣和时尚目的地:Zivame
2017/09/28 全球购物
Linux面试题LINUX系统类
2015/11/25 面试题
如何写好升职自荐信
2014/01/06 职场文书
计算机相关的自我评价
2014/01/15 职场文书
商业街策划方案
2014/05/31 职场文书
2014购房个人委托书范本
2014/10/12 职场文书
安全责任书
2015/01/29 职场文书
退货证明模板
2015/06/23 职场文书
药品销售员2015年终工作总结
2015/10/22 职场文书
Python中os模块的简单使用及重命名操作
2021/04/17 Python
mysql 数据插入优化方法之concurrent_insert
2021/07/01 MySQL