如何从集合中检索元素而不删除它? [英] How to retrieve an element from a set without removing it?
本文介绍了如何从集合中检索元素而不删除它?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
假设如下:
<预><代码>>>>s = set([1, 2, 3])如何在不执行 s.pop()
的情况下从 s
中获取值(任何值)?我想将该项目留在集合中,直到我确定我可以删除它 - 只有在异步调用另一台主机后才能确定这一点.
又快又脏:
<预><代码>>>>elem = s.pop()>>>s.add(元素)但是你知道更好的方法吗?理想情况下是恒定时间.
解决方案
两个不需要全部复制的选项:
for e in s:休息# e 现在是 s 中的一个元素
或者...
e = next(iter(s))
但总的来说,集合不支持索引或切片.
Suppose the following:
>>> s = set([1, 2, 3])
How do I get a value (any value) out of s
without doing s.pop()
? I want to leave the item in the set until I am sure I can remove it - something I can only be sure of after an asynchronous call to another host.
Quick and dirty:
>>> elem = s.pop()
>>> s.add(elem)
But do you know of a better way? Ideally in constant time.
解决方案
Two options that don't require copying the whole set:
for e in s:
break
# e is now an element from s
Or...
e = next(iter(s))
But in general, sets don't support indexing or slicing.
这篇关于如何从集合中检索元素而不删除它?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文