在 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'❝
文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈。
❞