专业编程基础技术教程

网站首页 > 基础教程 正文

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

ccvgpt 2024-11-01 11:37:43 基础教程 105 ℃

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

pop() 函数

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

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

「语法:」

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'

?

文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈。

?

Tags:

最近发表
标签列表