Python中remove,del和pop的区别
以a=[1,2,3] 为例,似乎使用del, remove, pop一个元素2 之后 a都是为 [1,3], 如下:http://Novell.Me
- >>> 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]
- >>>
CopyRight http://novell.me
那么Python对于列表的del, remove, pop操作,它们之间有何区别呢?
首先,remove 是删除首个符合条件的元素。并不是删除特定的索引。如下例: 版权所有,未经Novell迷允许,不得转载!
- >>> 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. 本文转载自http://novell.me
最后我们再看看pop
- >>> a = [4, 3, 5]
- >>> a.pop(1)
- 3
- >>> a
- [4, 5]
http://Novell.Me
pop返回的是你弹出的那个数值。
所以使用时要根据你的具体需求选用合适的方法。
另外它们如果出错,出错模式也是不一样的。注意看下面区别:
- >>> a = [4, 5, 6]
- >>> a.remove(7)
- Traceback (most recent call last):
- File "", line 1, in
- ValueError: list.remove(x): x not in list
- >>> del a[7]
- Traceback (most recent call last):
- File "", line 1, in
- IndexError: list assignment index out of range
- >>> a.pop(7)
- Traceback (most recent call last):
- File "", line 1, in
- IndexError: pop index out of range
Python中remove,del和pop的区别的更多相关文章
- python中import和from...import...的区别
python中import和from...import...的区别: 只用import时,如import xx,引入的xx是模块名,而不是模块内具体的类.函数.变量等成员,使用该模块的成员时需写成xx ...
- 转发 python中file和open有什么区别
python中file和open有什么区别?2008-04-15 11:30地痞小流氓 | 分类:python | 浏览3426次python中file和open有什么区别?都是打开文件,说的越详细越 ...
- python中的del
python中的del,只删除变量,不删除数据,具体表现为: a=1,c=a,del a,(c=1) 和 a = [1,2,3,4,5] b= a[0] del a[0] print a ([2,3, ...
- Python中str()与repr()函数的区别——repr() 的输出追求明确性,除了对象内容,还需要展示出对象的数据类型信息,适合开发和调试阶段使用
Python中str()与repr()函数的区别 from:https://www.jianshu.com/p/2a41315ca47e 在 Python 中要将某一类型的变量或者常量转换为字符串对象 ...
- python中list/tuple/dict/set的区别
序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推.Python有6个序列的内置类型,但最常见的是列表list和元组t ...
- Python中list,tuple,dict,set的区别和用法
Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, tuple, dict, set.这里对他们进行一个简明的总结. List ...
- python中set和frozenset方法和区别
set(可变集合)与frozenset(不可变集合)的区别:set无序排序且不重复,是可变的,有add(),remove()等方法.既然是可变的,所以它不存在哈希值.基本功能包括关系测试和消除重复元素 ...
- Python中list,tuple,dict,set的区别和用法(转)
原文地址:http://www.cnblogs.com/soaringEveryday/p/5044007.html Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个 ...
- Python中str()与repr()函数的区别
在 Python 中要将某一类型的变量或者常量转换为字符串对象通常有两种方法,即str()或者 repr() . >>> a = 10 >>> type(str(a ...
- python中的__init__和__new__的区别
一.__init__ 方法是什么?(init前后的线是双下划线) 使用Python写过面向对象的代码的同学,可能对 __init__ 方法已经非常熟悉了,__init__ 方法通常用在初始化一个类实例 ...
随机推荐
- hdu 1255
覆盖的面积 Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Sub ...
- ipone5 无法安装ipa软件
iphone5s软件无法安装解决方法一,点击设置 - 通用 - 访问限制,先关闭“安装应用程序”选项,再打开,把后台应用程序刷新也关了,测试. iphone5s软件无法安装解决方法二,点击设置 - 通 ...
- expect结合ssh遍历线上机器
有个需求,有个文件删除了,但是不确定线上机器还都存不存在 #!/home/work/.jumbo/bin/expect -f set timeout - set mac [lindex $argv ] ...
- css实现省略号
样式: {width: 160px; overflow: hidden; text-overflow:ellipsis; white-space: nowrap;} 说明: white-space: ...
- mybatis 3.x 缓存Cache的使用
mybatis 3.x 已经支持cache功能了,使用很简单,在mappper的xml文件里添加以下节点: <mapper namespace="com.cnblogs.yjmyzz. ...
- Python 操作 MongoDB
原文 这篇文章主要介绍了使用Python脚本操作MongoDB的教程,MongoDB作为非关系型数据库得到了很大的宣传力度,而市面上的教程一般都是讲解JavaScript的脚本操作,本文则是基于Pyt ...
- RelayCommand
RelayCommand Mvvm最大的特点就是分离了View和ViewModel,将数据的显示和业务逻辑分开.使用WPF的Binding,我们不仅能够 将数据从ViewModel绑定到View,同时 ...
- Java 基础【11】@注解
1.注解简介 JDK 1.5 中引入的 java.lang.annotation 包提供注解编程支持,可以让类在编译.类加载.运行时被读取,并执行相应的处理. 在 Java EE应用的时候,总是免不了 ...
- 分享:计算机图形学期末作业!!利用WebGL的第三方库three.js写一个简单的网页版“我的世界小游戏”
这几天一直在忙着期末考试,所以一直没有更新我的博客,今天刚把我的期末作业完成了,心情澎湃,所以晚上不管怎么样,我也要写一篇博客纪念一下我上课都没有听,还是通过强大的度娘完成了我的作业的经历.(当然作业 ...
- 开源 XFControls , 用于 Xamarin.Forms 的自定义控件集
从此以后不会在博客园上发表任何言论,观注我的同志们,洗洗睡吧. ---------------------- 博文移至: http://www.jianshu.com/p/3ed1a3f10955