python列表(list)中的del,remove,和pop的区别

先谈pop和remove

a = [1,2,3,4]

pop 接受的是元素的下标,在原列表中弹出这个元素,并返回
也就是说:

test_one = a.pop(1)

结果为:

test_one = 2
a = [1,3,4]

remove接受的是列表中的数,在原列表从左到右删除第一次出现的这个数,返回值为None
也就是说:

a=[1,2,1,3]
test_one = a.remove(1)

结果为:

test_one = None
a = [2,1,3]

a=[1,2,1,3]
del a[1]

结果为:

a = [1,1,3]                                                                 
  • del 是一个语句,它直接销毁a[1]这个对象
  • del可以作用在任何对象上,不单单是列表里的某一个元素,比如del a,那么a这个列表就没有了
  • del 的速度更快,原因如下
在使用del时:python的内部调用是直接调用字节码,因为它是一个语句
del字节码.png

而使用remove,或者pop时,调用的是函数

remove字节码.png

调用字节码的时间肯定比调用函数的快

总结:和 视情况使用,操作要比前两个快

你可能感兴趣的:(python列表(list)中的del,remove,和pop的区别)