有没有一种简单的方法可以在 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")
