Python 字典操作函数 pop 与 popitem 的区别

在 python 中,字典函数 pop() 和 popitem() 都用于从字典中删除项目。在本文中,我们通过示例了解这些函数的使用方法和区别。

图片

pop() 函数

pop() 函数用于从字典中删除键并返回其值。

「语法:」

dict1.pop(key, default)

「参数:」

  • key:字典中要删除的键值对对应的键。
  • default(可选):如果字典中不存在键,则返回的值。

「返回:」

  • 如果键在字典中,它将删除该键并返回其值。
  • 如果键不在字典中,并且未提供默认值,则会引发 KeyError。
  • 如果键不在字典中,并且提供了默认值,则返回默认值。

「示例 1:删除字典中存在的键」

dict1 = {'Ten': 10, 'Twenty': 20, 'Thirty': 30}print("原字典内容:",dict1)dict1_val = dict1.pop('Thirty')print("移除 Thirty 后的字典内容:", dict1)print("pop 移除字典内容的返回值:", dict1_val)输出:原字典内容: {'Ten': 10, 'Twenty': 20, 'Thirty': 30}移除 Thirty 后的字典内容: {'Ten': 10, 'Twenty': 20}pop 移除字典内容的返回值: 30

在上面的示例中,我们使用 pop() 函数从字典中删除键。它从字典中删除了’Thirty’键,并返回了与’Thirty’键对应的值 30。

「示例 2:删除字典中不存在的键,并且未指定默认值」

dict1 = {'Ten': 10, 'Twenty': 20, 'Thirty': 30}print("原字典内容:",dict1)dict1_val = dict1.pop('Forty')print("移除 Thirty 后的字典内容:", dict1)print("pop 移除字典内容的返回值:", dict1_val)输出:原字典内容: {'Ten': 10, 'Twenty': 20, 'Thirty': 30}Traceback (most recent call last):  File "C:\test.py", line 3, in <module>    dict1_val = dict1.pop('Forty')KeyError: 'Forty'

在上面的示例中,我们使用 pop() 函数删除字典中不存在的内容。由于未指定默认返回值,因此返回错误:KeyError。

「示例 3:删除字典中不存在的键,并且指定默认值」

dict1 = {'Ten': 10, 'Twenty': 20, 'Thirty': 30}print("原字典内容:",dict1)dict1_val = dict1.pop('Forty', "字典中没有相关内容")print("移除 Thirty 后的字典内容:", dict1)print("pop 移除字典内容的返回值:", dict1_val)输出:原字典内容: {'Ten': 10, 'Twenty': 20, 'Thirty': 30}移除 Thirty 后的字典内容: {'Ten': 10, 'Twenty': 20, 'Thirty': 30}pop 移除字典内容的返回值: 字典中没有相关内容

在上面的示例中,我们再次尝试删除字典中不存在的键,但这次我们提供了要返回的默认值。字典内容不变,返回设置的默认值。

popitem() 函数

popitem() 函数从字典中删除并返回最后一个键值对。

「语法:」

dict1.popitem()

「参数:」

该函数不使用任何参数。

「返回:」

从字典中删除并返回最后一个键值对。如果字典为空,则会引发 KeyError。

「示例 1:删除字典最后一个键值对」

dict1 = {'Ten': 10, 'Twenty': 20, 'Thirty': 30}print("原字典内容:",dict1)dict1.popitem()print("popitem 后的字典内容:", dict1)输出:原字典内容: {'Ten': 10, 'Twenty': 20, 'Thirty': 30}popitem 后的字典内容: {'Ten': 10, 'Twenty': 20}

「示例 2:删除空字典的键值对」

dict1 = {}print("原字典内容:",dict1)dict1.popitem()print("popitem 后的字典内容:", dict1)输出:原字典内容: {}Traceback (most recent call last):  File "C:\test.py", line 3, in <module>    dict1.popitem()KeyError: 'popitem(): dictionary is empty'

好文推荐

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值