集是无序的且没有索引的。因此,没有最后输入的元素的概念。因此,没有弹出项。这是没有集合的理由吗?
如果这是有效的推理,则为什么字典具有popitem。字典也像Set一样无序。
答案 0 :(得分:1)
对应的集合方法是pop()
:
pop()
从集合中删除并返回任意元素。如果集合为空,则引发
KeyError
。
在Python 3.7之前,字典是无序的,popitem()
返回了一个任意的键值对。从3.7开始,才对字典进行排序并定义popitem()
以按LIFO顺序返回项目。
字典将其称为popitem()
,因为已经有一个pop(key)
方法用指定的键删除该项。
答案 1 :(得分:0)
Python set具有pop()
,以返回任意项。但是,您不知道会变成哪一个。
答案 2 :(得分:0)
由于在Python中集合是无序的,因此没有方法可以从集合中删除最后输入的元素。
如果您希望使用一种简单的方法来使用标准库来模拟有序集,则可以改用Screen Shot
:
collections.OrderedDict
在上面的示例中,from collections import OrderedDict
s = OrderedDict.fromkeys((2,5,2,6,7))
s.popitem()
将变为:
s.keys()