Python Glossary English

все Python 3Встроенные функциипонятие

frozenset

типы

Неизменяемое множество. Поддерживает все операции set (объединение, пересечение и т.д.), но не поддерживает add() и remove(). Хешируемо — можно использовать как ключ словаря.

Синтаксис

frozenset(iterable)

frozenset берут тогда, когда множество нужно положить ключом в словарь или элементом другого множества — обычный set туда не пустят, он нехешируемый. Литерала у frozenset нет, только вызов конструктора: фигурные скобки всегда дают set (а пустые — вообще пустой словарь). Ловушка: frozenset({1,2}) == {1,2} истинно, но достать значение по обычному set из такого словаря нельзя — d[{1,2}] упадёт с TypeError, ведь ключ сначала надо захешировать.

Примеры

fs = frozenset([1,2,3,2,1])
print(fs)  # → frozenset({1, 2, 3})
print(sorted(frozenset('hello')))  # → ['e', 'h', 'l', 'o'] (порядок множества не определён, поэтому сортируем)
d = {frozenset([1,2]): 'value'}
print(d)  # → {frozenset({1, 2}): 'value'}
print(1 in fs)  # → True
print(fs & frozenset([2,3,4]))  # → frozenset({2, 3})

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности