对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数组的处理代码
Jan 04 Python
python改变日志(logging)存放位置的示例
Mar 27 Python
python executemany的使用及注意事项
Mar 13 Python
python实现读取大文件并逐行写入另外一个文件
Apr 19 Python
python实现简单名片管理系统
Nov 30 Python
python处理自动化任务之同时批量修改word里面的内容的方法
Aug 23 Python
Python安装与卸载流程详细步骤(图解)
Feb 20 Python
利用 Python ElementTree 生成 xml的实例
Mar 06 Python
如何在Python对Excel进行读取
Jun 04 Python
Tensorflow tensor 数学运算和逻辑运算方式
Jun 30 Python
浅谈matplotlib 绘制梯度下降求解过程
Jul 12 Python
python中altair可视化库实例用法
Jan 26 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自动更新新闻DIY
2006/10/09 PHP
php 文章采集正则代码
2009/12/28 PHP
Codeigniter实现多文件上传并创建多个缩略图
2014/06/12 PHP
PHP 二维数组和三维数组的过滤
2016/03/16 PHP
IE6-IE9中tbody的innerHTML不能赋值的解决方法
2014/09/26 Javascript
了不起的node.js读书笔记之例程分析
2014/12/22 Javascript
JavaScript实现的encode64加密算法实例分析
2015/04/15 Javascript
jquery+php实现滚动的数字特效
2015/11/29 Javascript
BOM系列第二篇之定时器requestAnimationFrame
2016/08/17 Javascript
JS使用正则截取两个字符串之间的字符串实现方法详解
2017/01/06 Javascript
nodejs+mongodb+vue前后台配置ueditor的示例代码
2018/01/02 NodeJs
Vue实现textarea固定输入行数与添加下划线样式的思路详解
2018/06/28 Javascript
SVG实现时钟效果
2018/07/17 Javascript
vue中使用gojs/jointjs的示例代码
2018/08/24 Javascript
手动实现vue2.0的双向数据绑定原理详解
2021/02/06 Vue.js
[01:46]DOTA2上海特锦赛小组赛英文解说KotlGuy采访
2016/02/27 DOTA
python目录操作之python遍历文件夹后将结果存储为xml
2014/01/27 Python
由Python运算π的值深入Python中科学计算的实现
2015/04/17 Python
OpenCV实现人脸识别
2017/04/07 Python
python 获取url中的参数列表实例
2018/12/18 Python
win10子系统python开发环境准备及kenlm和nltk的使用教程
2019/10/14 Python
为什么黑客都用python(123个黑客必备的Python工具)
2020/01/31 Python
python用pip install时安装失败的一系列问题及解决方法
2020/02/24 Python
python将YUV420P文件转PNG图片格式的两种方法
2021/01/22 Python
Canvas制作的下雨动画的示例
2018/03/06 HTML / CSS
保护母亲河倡议书
2014/04/14 职场文书
运动会演讲稿100字
2014/08/25 职场文书
企业党员个人自我评价
2014/09/20 职场文书
交通事故委托书范本(2篇)
2014/09/21 职场文书
个人房屋买卖协议书(范本)
2014/10/04 职场文书
信访工作汇报材料
2014/10/27 职场文书
2014年除四害工作总结
2014/12/06 职场文书
婚礼新人答谢词
2015/01/04 职场文书
销售经理岗位职责
2015/01/31 职场文书
一篇文章弄懂MySQL查询语句的执行过程
2021/05/07 MySQL
Python机器学习之KNN近邻算法
2021/05/14 Python