В чем разница между frozenset и кортежем

Python Middle Без компании
В чем разница между frozenset и кортежем
Ответы
Основное отличие `frozenset` от кортежа (`tuple`) в изменяемости и семантике: - **Изменяемость элементов** - `frozenset` содержит **неизменяемые** элементы (как и `tuple`), но сам является **хешируемым** (может быть ключом словаря или элементом другого множества). - `tuple` — это упорядоченная коллекция, а `frozenset` — неупорядоченная (как обычный `set`). - **Уникальность элементов** - `frozenset`, как и `set`, хранит только **уникальные** элементы (дубликаты автоматически удаляются). - `tuple` сохраняет все элементы, включая дубликаты. - **Пример использования** ``` # Кортеж (tuple) t = (1, 2, 2, 3) # Допускает дубликаты, порядок важен print(t) # (1, 2, 2, 3) # frozenset fs = frozenset([1, 2, 2, 3]) # Удаляет дубликаты, порядок не сохраняется print(fs) # frozenset({1, 2, 3}) ``` **Когда использовать?** - `frozenset`: если нужен неизменяемый `set` (например, для ключа словаря). - `tuple`: если важен порядок или дубликаты.