如何从集合中检索元素而不删除它? [英] How to retrieve an element from a set without removing it?

查看:35
本文介绍了如何从集合中检索元素而不删除它?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设如下:

<预><代码>>>>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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆