Python 字典 popitem() 方法用于从字典中删除并返回任意键值对。它会就地修改字典。
它的工作方式如下 -
- 当您调用 popitem() 时,它会删除任意键值对并将其作为元组返回。
- 如果字典为空,则调用 popitem() 会引发 KeyError。
- 如果字典不为空,则 popitem() 会删除并返回一个键值对。它删除哪一对是无法保证的,并且可能因 Python 版本而异。但是,在 Python 3.7 及更高版本中,它通常会删除添加到字典中的最后一个键值对。
- 当您想要以任意顺序从字典中删除和处理项目时,该方法非常有用。
语法
以下是 Python 词典 popitem() 方法的基本语法 -
dictionary.popitem()
参数
此方法不接受任何参数。
返回值
该方法返回一个元组,其中包含已从字典中删除的键值对。字典中项目的顺序是无法保证的,因此返回的键值对可能是任意的。
示例 1
在下面的示例中,我们从字典 “my_dict” 删除任意键值对,并将其作为元组 (key, value) 检索 -
my_dict = {'a': 1, 'b': 2, 'c': 3}
item = my_dict.popitem()
print("该项目是:",item)
print("获得的词典是:",my_dict)
获得的输出如下 -
该项目是: ('c', 3)
获得的词典是: {'a': 1, 'b': 2}
获得的词典是: {'a': 1, 'b': 2}
示例 2
在这里,我们演示了 popitem() 方法通常会删除添加到字典中的最后一项。但是,在 Python 3.7 之前,不能保证字典项的迭代顺序。
my_dict = {'a': 1, 'b': 2, 'c': 3}
item = my_dict.popitem()
print("该项目是:",item)
以下是上述代码的输出 -
该项目是: ('c', 3)
示例 3
在此示例中,我们从字典 “my_dict” 中删除任意键值对,并将其键和值分配给变量 “key” 和 “value” −
my_dict = {'a': 1, 'b': 2, 'c': 3}
key, value = my_dict.popitem()
print("获得的键值对为:",key, value)
生成的结果如下所示 -
获得的键值对为: c 3
示例 4
现在,我们尝试从空字典中删除任意键值对,这会引发 KeyError,因为没有要弹出的项目 -
my_dict = {}
item = my_dict.popitem()
我们得到的输出如下所示 -
Traceback (most recent call last):
File "/home/cg/root/660e6943bb2bb/main.py", line 2, in <module>
item = my_dict.popitem()
KeyError: 'popitem(): dictionary is empty'
File "/home/cg/root/660e6943bb2bb/main.py", line 2, in <module>
item = my_dict.popitem()
KeyError: 'popitem(): dictionary is empty'