假设如下:
>>> s = set([1, 2, 3])
我如何在不做的情况下获得价值(任何价值s)s.pop()?我想将项目留在集合中,直到我确定我可以将其删除 - 我只能在异步调用另一个主机之后才能确定。
s
s.pop()
又快又脏:
>>> elem = s.pop() >>> s.add(elem)
但是你知道更好的方法吗?理想情况下在恒定时间内。
不需要复制整个集合的两个选项:
for e in s: break # e is now an element from s
要么…
e = next(iter(s))
但一般来说,集合不支持索引或切片。