如何从集中检索一个元素而不删除它?

发布于 2021-01-29 17:57:17

假设以下内容:

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

如何获得的值(任意值)出来s而不做s.pop()?我想将该项目保留在集合中,直到我确定可以删除它为止-只有在异步调用另一个主机后才能确定。

快速而肮脏:

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

但是您知道更好的方法吗?理想情况下是恒定时间。

关注者
0
被浏览
62
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

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

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

    要么…

    e = next(iter(s))
    

    但是总的来说,集合不支持索引或切片。



推荐阅读
知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看