Я хотел бы получить элемент из frozenset
(конечно, не изменяя его, поскольку frozenset
неизменяемы). Лучшее решение, которое я нашел до сих пор, это:
s = frozenset(['a'])
iter(s).next()
который возвращает, как и ожидалось:
'a'
Другими словами, есть ли способ «вытолкнуть» элемент из frozenset
, не выталкивая его на самом деле?
random.sample(fset, 1)
. - person bbayles   schedule 23.07.2013next
вместо метода). - person user2357112 supports Monica   schedule 23.07.2013.next()
. Существует встроенная функцияnext()
, так как по крайней мере python2.6 и ее использование означает, что ваш код будет работать также в python3, где методnext
был переименован в__next__
. - person Bakuriu   schedule 23.07.2013next(iter(fset))
иiter(fset).next()
. - person ablondin   schedule 23.07.2013random.sample(fset, 1)
возвращает список; вам нужноrandom.sample(fset, 1)[0]
, чтобы получить сам элемент. - person Zero Piraeus   schedule 25.07.2013