python remove del pop 的区别
1.remove
remove 是删除首个符合条件的元素。并不是删除特定的索引。
例子1:
>>> a = range(10) >>> a [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> a.remove(2) >>> a [0, 1, 3, 4, 5, 6, 7, 8, 9]
例子2: (只删除第一个匹配的2)
>>> a = [1,2,3,4,2,2] >>> a [1, 2, 3, 4, 2, 2] >>> a.remove(2) >>> >>> a [1, 3, 4, 2, 2]
2.del
而对于 del 来说,它是根据索引(元素所在位置)来删除的,没有返回值
>>> a = range(10) >>> del a[1] >>> a [0, 2, 3, 4, 5, 6, 7, 8, 9] >>> del a >>> a Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'a' is not defined
3.pop
pop根据索引(元素所在位置)来删除的,有返回值,只能删除元素,不能删除整个list
>>> a [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> a = range(10) >>> a.pop(-1) 9 >>> a [0, 1, 2, 3, 4, 5, 6, 7, 8]