Python 字典 popitem() 方法


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}

示例 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'