对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调用shell的方法
Nov 20 Python
跟老齐学Python之用Python计算
Sep 12 Python
使用Python抓取模板之家的CSS模板
Mar 16 Python
浅谈Python中range和xrange的区别
Dec 20 Python
使用pycharm设置控制台不换行的操作方法
Jan 19 Python
详解python项目实战:模拟登陆CSDN
Apr 04 Python
python七夕浪漫表白源码
Apr 05 Python
python for循环remove同一个list过程解析
Aug 14 Python
Python 文件操作之读取文件(read),文件指针与写入文件(write),文件打开方式示例
Sep 29 Python
Scrapy框架基本命令与settings.py设置
Feb 06 Python
在python3中实现查找数组中最接近与某值的元素操作
Feb 29 Python
实例讲解Python 迭代器与生成器
Jul 08 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
Email+URL的判断和自动转换函数
2006/10/09 PHP
PHP性能优化工具篇Benchmark类调试执行时间
2011/12/06 PHP
PHP命名空间(namespace)的动态访问及使用技巧
2014/08/18 PHP
PHP中的数组处理函数实例总结
2016/01/09 PHP
thinkphp3.x中变量的获取和过滤方法详解
2016/05/20 PHP
PHP命名空间与自动加载机制的基础介绍
2019/08/25 PHP
js浮动图片的动态效果
2013/07/10 Javascript
Javascript学习笔记之数组的构造函数
2014/11/23 Javascript
js实现鼠标悬停图片上时滚动文字说明的方法
2015/02/17 Javascript
详解AngularJS中自定义指令的使用
2015/06/17 Javascript
javascript的列表切换【实现代码】
2016/05/03 Javascript
JavaScript对Json的增删改属性详解
2016/06/02 Javascript
Vue.js一个文件对应一个组件实践
2016/10/27 Javascript
微信公众号支付H5调用支付解析
2016/11/04 Javascript
微信小程序中单位rpx和rem的使用
2016/12/06 Javascript
Bootstrap学习笔记 轮播(Carousel)插件
2017/03/21 Javascript
vue中将网页打印成pdf实例代码
2017/06/15 Javascript
angular动态删除ng-repaeat添加的dom节点的方法
2017/07/20 Javascript
nodejs实现简单的gulp打包
2017/12/21 NodeJs
vue观察模式浅析
2018/09/25 Javascript
python 2.6.6升级到python 2.7.x版本的方法
2016/10/09 Python
python中字符串的操作方法大全
2018/06/03 Python
python对list中的每个元素进行某种操作的方法
2018/06/29 Python
selenium + python 获取table数据的示例讲解
2018/10/13 Python
numpy实现神经网络反向传播算法的步骤
2019/12/24 Python
世界领先的艺术图书出版社:TASCHEN
2018/07/23 全球购物
英国123鲜花网站:123 Flowers
2019/07/07 全球购物
小米乌克兰网上商店:Xiaomi.UA
2019/10/29 全球购物
数控专业毕业生求职信
2014/06/12 职场文书
接收函格式
2015/01/30 职场文书
社会实践活动总结
2015/02/05 职场文书
草房子读书笔记
2015/06/29 职场文书
大卫科波菲尔读书笔记
2015/06/30 职场文书
mysql 直接拷贝data 目录下文件还原数据的实现
2021/07/25 MySQL
HTML CSS 一个标签实现带动画的抖音LOGO
2022/04/26 HTML / CSS
Web应用开发TypeScript使用详解
2022/05/25 Javascript