我最近遇到了一个场景,如果一个集合只包含一个元素,我想对该元素做些事情。为了获得元素,我决定采用以下方法:
element = list(myset)[0]
但这不是很令人满意,因为它创建了不必要的列表。也可以通过迭代来完成,但是迭代似乎也不自然,因为只有一个元素。我是否缺少简单的东西?
元组拆包工作。
(element,) = myset
(顺便说一句,python- dev进行了探索,但拒绝添加myset.get()来从集合中返回任意元素。这里的讨论是Guido van Rossum回答1和2。)
myset.get()
对于获得任意元素,我个人最喜欢的是(当您有一个未知数时,但是如果您只有一个也可以):
element = next(iter(myset)) ¹
1 :在Python 2.5及更低版本中,您必须使用iter(myset).next()
iter(myset).next()