社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

python 数组的del ,remove,pop区别

Python技术博文 • 8 年前 • 1010 次点击  

小编发现以往发的很多期的python基础知识,并不能满足读者对于Python 的学习,所以小编决定以后还是会发布一些基础知识的普及,以及利用Python来实现一些有趣的事情,希望亲爱滴读者们支持和鼓励哦!

python 数组的del ,remove,pop区别,我还是想通过代码让大家一目了然的明白其中的细节问题,希望读者们可以跟着敲一遍哦。

以a=[1,2,3] 为例,似乎使用del, remove, pop一个元素2 之后 a都是为 [1,3], 如下:

  1. >>> a=[1,2,3] 

  2. >>> a.remove(2) 

  3. >>> a 

  4. [1, 3] 

  5. >>> a=[1,2,3] 

  6. >>> del a[1] 

  7. >>> a 

  8. [1, 3] 

  9. >>> a= [1,2,3] 

  10. >>> a.pop(1) 

  11. >>> a 

  12. [1, 3] 

  13. >>>  

那么Python对于列表的del, remove, pop操作,它们之间有何区别呢?


首先,remove 是删除首个符合条件的元素。并不是删除特定的索引。如下例: 本文来自Novell迷网站 http://novell.me

  1. >>> a = [0, 2, 2, 3] 

  2. >>> a.remove(2) 

  3. >>> a 

  4. [0, 2, 3] 

而对于 del 来说,它是根据索引(元素所在位置)来删除的,如下例:


  1. >>> a = [3, 2, 2, 1] 

  2. >>> del a[1] 

  3. [3, 2, 1] 

第1个元素为a[0] --是以0开始计数的。则a[1]是指第2个元素,即里面的值2.

最后我们再看看pop

  1. >>> a = [4, 3, 5] 

  2. >>> a.pop(1) 

  3. >>> a 

  4. [4, 5] 

pop返回的是你弹出的那个数值。

所以使用时要根据你的具体需求选用合适的方法。 内容来自http://novell.me

另外它们如果出错,出错模式也是不一样的。注意看下面区别:


  1. >>> a = [4, 5, 6] 

  2. >>> a.remove(7) 

  3. Traceback (most recent call last): 

  4.   File "", line 1, in  

  5. ValueError: list.remove(x): x not in list 

  6. >>> del a[7] 

  7. Traceback (most recent call last): 

  8.   File "", line 1, in  

  9. IndexError: list assignment index out of range 

  10. >>> a.pop(7) 

  11. Traceback (most recent call last): 

  12.   File "", line 1, in  

  13. IndexError: pop index out of range 


推荐阅读,点击就可阅读哦:

如何优雅的使用Python

Python初学者的17个技巧

Python面向对象编程

Python基础章程

自学Python如何少走弯路

学Python经历的坑


小编寄语:

       如果大家有什么想要了解的或者感兴趣的,可以留言小编哦,小编会尽可能的多多发布大家感兴趣的知识点和精品文章的。


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/zvwxcZffWj
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/2364
 
1010 次点击