python - 从 Python 集合中请求一个元素

标签 python python-2.7 set

有没有一种简单的方法可以在Python中向集合询问元素?以下是我用过的一些方法:

elem = myset.pop(); myset.add(elem)
elem = random.choice(list(myset))
elem = list(myset)[0]

这些方法都低效且笨拙。

有没有办法只询问像 elem = myset.get() 这样的东西,它返回集合中的一个元素而不删除它?就像非删除的 pop() 一样?

(当然,该方法可能每次都会返回相同的元素,直到该集合被其他代码更改,但这仍然有用。)

最佳答案

elem = next(iter(myset))

for elem in myset:
    break

如果您发现这些代码片段让人困惑,您可以将它们包装在一个具有好听名称的函数中:

def arbitrary_element_of(thing):
    for elem in thing:
        return elem
    raise ValueError("Argument is empty")

关于python - 从 Python 集合中请求一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27394319/

相关文章:

python - 在 Linux 上将 PIL 图像转换为视频

python - pycharm中的IdeaVim插件不支持长按连续滚动?

java - 从集合的 ArrayList 中删除重复项 | ArrayList<Set<String>> tmp

c++ - 动态插入集合

Python - 如何从嵌套列表中获取所有可能的组合

python - 无限循环服务GPIO的效率

Python:Jupyter Notebook 中的 pretty-print

python - 遍历列表返回负索引

algorithm - 根据 python 中的 %age overlap,使用另一个不同长度和范围的列表有条件地替换一个列表中的值

c - 获取和设置路径