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

173fabeb4c1c41a0ae3d80d646bcfb15.png

一、小试牛刀

9cea4466cbf856822fc5cf6d2e1c7476.png

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


二、Python中的remove函数

bb4f1cae14054b135a3cdc95a03c47a3.png

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、实例讲解

错误示范:

720127db643c440c8f767ddc212d9cd2.png

remove不传参数报错


1ec43d36de742c4665523322735a0e67.png

remove删除的对象在列表中不存在


5ab197bd58bc6e9018f531f0018640c4.png

元组没有remove方法


ad78d7bb997317fb5789143236d18ea8.png

字符串没有remove方法


正确示范:

8c04a7d7a75d82dc7f3dfb2bb9d89355.png

三、Python中的pop、popitem函数

c0e93f47b695df7f3b720b43649a0235.png

1、区别

1c7373ee60216e41d8e861b6f5fa347f.png

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】实例讲解

错误示范:

6f3b653684e637129ff3dd5f02b3c0ca.png

pop参数超过列表下角标


091c6b5eebb61a4b639e650e8da7a920.png

pop参数是数字


正确示范:

361e5009fab71a47a4b30b365924e316.png

1a3fb69fbe357d52d7ab0be8c08a0a3a.png

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


2.2 字典类型中的pop函数

【1】语法:

pop(key[,default])

【2】注意事项

参数

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

②key: 要删除的键值;

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

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

返回值

返回被删除的值。

【3】实例讲解

错误示范:

d194145d467c47e39e89378595c0d806.png

pop参数键值不存在


正确示范:

048bfd33266ce2da38f01e57c5491533.png

3、popitem函数

1、语法

popitem()

2、注意事项

参数

【1】无

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

返回值

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

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

3、实例讲解

错误示范:

8a5144bd9c6bc5e746db44c3496403cf.png

popitem没有参数


f75c7936235c2720f5b6c39a38cc9ff5.png

正确示范:

0a5406f0c795dfbc32ade61582db385e.png

四、Python中的del关键字

3b6436e95854efc585114e5bb08b6a6a.png

1、语法

del():删除指定值

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

ba7904e8c0b5c50ba2979b0e4c868a62.png

del删除


f3211b28217d0a20c080cfc132ad9bb6.png

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

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

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


3、del与remove的区别

45459c902ad0807979ee932e4a821c76.png

区别


五、上一茬

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


六、你真的弄懂了remove吗?

6bd71c60aad89d256213fb1658cff4f2.png

我打赌你会做错!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值