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

云课堂学Python 2024-04-07 00:50:04

在 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 阅读:0