对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装饰器验证配置文件示例
Feb 24 Python
Python基于有道实现英汉字典功能
Jul 25 Python
Python 列表排序方法reverse、sort、sorted详解
Jan 22 Python
解决Linux系统中python matplotlib画图的中文显示问题
Jun 15 Python
python异步存储数据详解
Mar 19 Python
Python进阶之@property动态属性的实现
Apr 01 Python
Django中从mysql数据库中获取数据传到echarts方式
Apr 07 Python
pycharm开发一个简单界面和通用mvc模板(操作方法图解)
May 27 Python
通过cmd进入python的步骤
Jun 16 Python
Python必须了解的35个关键词
Jul 16 Python
python使用建议与技巧分享(二)
Aug 17 Python
Python中的嵌套循环详情
Mar 23 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
屏蔽浏览器缓存另类方法
2006/10/09 PHP
php生成随机密码的几种方法
2011/01/17 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(八)
2014/06/23 PHP
php中Session的生成机制、回收机制和存储机制探究
2014/08/19 PHP
javascript延时重复执行函数 lLoopRun.js
2007/06/29 Javascript
关于全局变量和局部变量的那些事
2013/01/11 Javascript
JavaScript实现复制功能各浏览器支持情况实测
2013/07/18 Javascript
jquery.post用法之type设置问题
2014/02/24 Javascript
javascript动态创建及删除元素的方法
2014/12/22 Javascript
总结JavaScript中布尔操作符||与&amp;&amp;的使用技巧
2015/11/17 Javascript
jQuery常用知识点总结以及平时封装常用函数
2016/02/23 Javascript
TypeScript Type Innference(类型判断)
2016/03/10 Javascript
高效的jQuery代码编写技巧总结
2017/02/22 Javascript
微信小程序中使用自定义图标(阿里icon)的方法
2018/08/20 Javascript
Vue2 添加数据可视化支持的方法步骤
2019/01/02 Javascript
vue模块移动组件的实现示例
2020/05/20 Javascript
详解JavaScript自定义函数
2020/07/29 Javascript
[01:14]2014DOTA2展望TI 剑指西雅图newbee战队专访
2014/06/30 DOTA
[07:52]2014DOTA2 TI逗比武士游V社解说背后的故事
2014/07/10 DOTA
在Docker上部署Python的Flask框架的教程
2015/04/08 Python
Python常用库推荐
2016/12/04 Python
Python基于Logistic回归建模计算某银行在降低贷款拖欠率的数据示例
2019/01/23 Python
python如何爬取网站数据并进行数据可视化
2019/07/08 Python
django的csrf实现过程详解
2019/07/26 Python
Python(PyS60)实现简单语音整点报时
2019/11/18 Python
JAVA及PYTHON质数计算代码对比解析
2020/06/10 Python
CSS3 transforms应用于背景图像的解决方法
2019/04/16 HTML / CSS
优秀应届毕业生自荐信
2013/11/16 职场文书
家长评语大全
2014/01/22 职场文书
党的群众路线教育实践活动学习心得体会
2014/03/03 职场文书
导游词之山西-五老峰
2019/10/07 职场文书
Mybatis-plus在项目中的简单应用
2021/07/01 Java/Android
CPU不支持Windows11系统怎么办
2021/11/21 数码科技
Python数据结构之队列详解
2022/03/21 Python
PYTHON基于Pyecharts绘制常见的直角坐标系图表
2022/04/28 Python
Django中celery的使用项目实例
2022/07/07 Python