对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完成FizzBuzzWhizz问题(拉勾网面试题)示例
May 05 Python
Python multiprocessing.Manager介绍和实例(进程间共享数据)
Nov 21 Python
python numpy 一维数组转变为多维数组的实例
Jul 02 Python
浅谈Python接口对json串的处理方法
Dec 19 Python
Python基础之文件读取的讲解
Feb 16 Python
Python获取好友地区分布及好友性别分布情况代码详解
Jul 10 Python
使用TensorFlow实现简单线性回归模型
Jul 19 Python
对python中的float除法和整除法的实例详解
Jul 20 Python
python 在右键菜单中加入复制目标文件的有效存放路径(单斜杠或者双反斜杠)
Apr 08 Python
Scrapy爬虫文件批量运行的实现
Sep 30 Python
Django用内置方法实现简单搜索功能的方法
Dec 18 Python
基于Python实现的购物商城管理系统
Apr 27 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网页游戏学习之Xnova(ogame)源码解读(十一)
2014/06/25 PHP
使用php的HTTP请求的库Requests实现美女图片墙
2015/02/22 PHP
jQuery EasyUI API 中文文档 - Tree树使用介绍
2011/11/19 Javascript
js函数setTimeout延迟执行的简单介绍
2013/07/17 Javascript
JS自定义对象实现Java中Map对象功能的方法
2015/01/20 Javascript
浅谈javascript面向对象程序设计
2015/01/21 Javascript
JavaScript中的replace()方法使用详解
2015/06/06 Javascript
Jquery日期选择datepicker插件用法实例分析
2015/06/08 Javascript
JavaScript数组实现数据结构中的队列与堆栈
2016/05/26 Javascript
浅谈JavaScript 浏览器对象
2016/06/03 Javascript
AngularJS教程之环境设置
2016/08/16 Javascript
详解Node.js access_token的获取、存储及更新
2017/06/20 Javascript
Vue2.0父组件与子组件之间的事件发射与接收实例代码
2017/09/19 Javascript
vue路由懒加载的实现方法
2018/03/12 Javascript
JavaScript类的继承操作实例总结
2018/12/20 Javascript
Vue.js结合bootstrap前端实现分页和排序效果
2018/12/29 Javascript
js序列化和反序列化的使用讲解
2019/01/19 Javascript
微信小程序网络层封装的实现(promise, 登录锁)
2019/05/08 Javascript
Element Collapse 折叠面板的使用方法
2020/07/26 Javascript
[10:04]国际邀请赛采访专栏:DK.Farseer,mouz.Black^,采访员Josh专访
2013/08/05 DOTA
Python生成随机密码
2015/03/10 Python
用Python的线程来解决生产者消费问题的示例
2015/04/02 Python
python使用fcntl模块实现程序加锁功能示例
2017/06/23 Python
Python网络编程 Python套接字编程
2017/09/13 Python
详解Python Matplot中文显示完美解决方案
2019/03/07 Python
执行Python程序时模块报错问题
2020/03/26 Python
python3 通过 pybind11 使用Eigen加速代码的步骤详解
2020/12/07 Python
Python绘制词云图之可视化神器pyecharts的方法
2021/02/23 Python
企业文化建设实施方案
2014/03/22 职场文书
捐资助学倡议书
2014/04/15 职场文书
《东方明珠》教学反思
2014/04/20 职场文书
欢迎领导标语
2014/06/27 职场文书
自主招生自荐信格式
2015/03/04 职场文书
陈斌强事迹观后感
2015/06/17 职场文书
python基础学习之生成器与文件系统知识总结
2021/05/25 Python