如何从集合中检索元素而不删除元素?

问题:

假设如下:

>>>s = set([1, 2, 3])

如何在没有做s.pop()的情况下获得一个值(任何值)?我想把项目放在集合中,直到我确定我可以删除它 – 我只能确定在异步调用另一个主机之后。
快速肮脏:

>>>elem = s.pop()
>>>s.add(elem)

但是你知道一个更好的方法吗?理想地在恒定的时间。

回答:

两个不需要复制整个集合的选项:

for e in s:
    break
# e is now an element from s

要么…

e = next(iter(s))

但是一般来说,集不支持索引或切片。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: How to retrieve an element from a set without removing it?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

+ 19 = 27