玖叶教程网

前端编程开发入门

Python基础找茬系列22--python中的remove、pop、popitem、del


一、小试牛刀


这道选择题,是每个学python的人必须跨过的一道坑。我敢打赌,第一次做,80%的人都会做错。能作对的20%人里,只有5%能把这个题用简单的语言解析清楚,会是你吗?文末期待你的精彩评论......


二、Python中的remove函数


1、语法

list.remove(obj) # 移除列表中某个值的第一个匹配项

2、注意事项

参数

【1】参数obj必传,否则报错

TypeError: remove() takes exactly one argument (0 given);

【2】参数obj是列表中要移除的对象,不是列表的下角标;

【3】当列表中有多个obj对象时,只删除第一个匹配项

【4】当列表中没有obj对象时,remove(obj)报错

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

【5】remove方法是列表专属

返回值

该方法没有返回值(也就是None)但是会移除列表中的某个值的第一个匹配项。

3、实例讲解

错误示范:





正确示范:


三、Python中的pop、popitem函数


1、区别


2、pop函数

2.1、列表类型中的pop函数

【1】语法

list.pop([index=-1])

【2】注意事项

参数

①list.pop()中的参数为空时,删除的是最后一个元素,等价于list.pop(-1)

②list.pop(index)中的index是list的下角标,不是指list中的元素对象

③当index超过了list的的最大下角标(len(list) - 1)时,报错

IndexError: pop index out of range

返回值

该方法返回从列表中移除的元素的值,如果列表为空或者索引值超出范围会报一个异常。

【3】实例讲解

错误示范:



正确示范:


注意:print打印字符串时,会自动隐藏引号


2.2 字典类型中的pop函数

【1】语法:

pop(key[,default])

【2】注意事项

参数

①字典类型的参数有2个,key和default,其中key是必传参数,default是可传参数;

②key: 要删除的键值;

③default: 如果没有 key,返回 default 值;

④pop()只传一个参数key,当字典中的key不存在时,会报错KeyError

返回值

返回被删除的值。

【3】实例讲解

错误示范:


正确示范:


3、popitem函数

1、语法

popitem()

2、注意事项

参数

【1】无

【2】一切传入参数的都会报错

返回值

【1】返回并删除字典中的最后一对键和值。

【2】如果字典已经为空,却调用了此方法,就报出 KeyError 异常。

3、实例讲解

错误示范:



正确示范:


四、Python中的del关键字


1、语法

del():删除指定值

2、del删除涉及python的GC(垃圾回收机制)



这就是python的GC也就是垃圾回收机制:

【1】由于python都是引用,而python有GC机制,所以,del语句作用在变量上,而不是数据对象上。

【2】将a和b del之后,1的引用计数仍然为1,所以不会被清除


3、del与remove的区别


五、上一茬

>>>《Python基础找茬系列21--python文件处理方法》


六、你真的弄懂了remove吗?


我打赌你会做错!

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言