Шаг 118.
Python: тонкости программирования. Общие структуры данных Python. Множества и мультимножества. frozenset - неизменяемые множества

    На этом шаге мы рассмотрим особенности использования объектов этого класса.

    Класс frozenset реализует неизменяемую версию множества set. Такое множество не может быть изменено после того, как оно было сконструировано.


См. документацию Python "frozenset": https://docs.python.org/3/library/stdtypes.html#frozenset.

    Множества frozenset статичны и допускают только операции с запросами в отношении своих элементов (никаких вставок или удалений). Поскольку множества frozenset статичны и хешируемы, они могут использоваться в качестве ключей словаря или в качестве элементов другого множества, а это то, что невозможно с обычными (изменяемыми) объектами-множествами set.

>>> vowels = frozenset({'а', 'о', 'э', 'и', 'у', 'ы', 'е', 'е', 'ю', 'я'})
>>> vowels.add('р')
Traceback (most recent call last):
.   .   .   .
AttributeError: 'frozenset' object has no attribute 'add'
# Множества frozenset хешируемы и могут
# использоваться в качестве ключей словаря:
>>> d = {frozenset({1, 2, 3}): 'привет'}
>>> d[frozenset({1, 2, 3})]
'привет'

    На следующем шаге мы рассмотрим класс collections.Counter.




Предыдущий шаг Содержание Следующий шаг