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

作者:AnneQiQi 时间:2021-01-23 09:22:31 

以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

来源:https://blog.csdn.net/AnneQiQi/article/details/71057069

标签:python,del,remove,pop
0
投稿

猜你喜欢

  • python检测某个变量是否有定义的方法

    2021-05-17 18:45:01
  • 在ASP.NET 2.0中操作数据之十四:使用FormView 的模板

    2024-03-23 16:07:32
  • SQL Server数据库触发器安全隐患解析

    2009-03-25 12:56:00
  • 静态网页加密工具

    2009-01-05 12:05:00
  • python用moviepy对视频进行简单的处理

    2023-08-03 07:02:15
  • Python常用数据分析模块原理解析

    2023-07-12 03:46:31
  • 如何使用FSO修改文件夹的名称

    2008-10-11 14:24:00
  • 举例讲解Python中的死锁、可重入锁和互斥锁

    2023-12-21 07:35:03
  • Python人脸识别第三方库face_recognition接口说明文档

    2022-07-12 04:15:37
  • sql脚本查询数据库表,数据,结构,约束等操作的方法

    2024-01-19 17:23:26
  • Linux下MySQL 5.6.27 安装教程

    2024-01-15 02:51:51
  • 一键搞定python连接mysql驱动有关问题(windows版本)

    2024-01-18 05:43:29
  • Python在cmd上打印彩色文字实现过程详解

    2022-12-19 07:27:33
  • vue使用v-for实现hover点击效果

    2024-05-02 17:09:03
  • 用python打开摄像头并把图像传回qq邮箱(Pyinstaller打包)

    2021-04-26 22:34:55
  • python3从网络摄像机解析mjpeg http流的示例

    2021-01-12 09:00:54
  • python pip如何手动安装二进制包

    2023-07-24 04:09:14
  • 谦逊编程(翻译整理)

    2009-07-28 12:52:00
  • 详解Django中的form库的使用

    2022-05-16 00:13:50
  • python实现将英文单词表示的数字转换成阿拉伯数字的方法

    2022-07-12 03:01:11
  • asp之家 网络编程 m.aspxhome.com