Back to questions
Junior — Middle
63
Можете объяснить, что такое immutable множества в Python и чем они отличаются от обычных?
Companies where asked
Леста
Answer from AI
sobes.tech AI
В Python immutable множества представлены типом frozenset. В отличие от обычных множеств (set), которые изменяемы (можно добавлять или удалять элементы), frozenset является неизменяемым — после создания его содержимое нельзя изменить.
Основные отличия:
- Изменяемость:
setможно изменять (добавлять, удалять элементы),frozenset— нет. - Хешируемость:
frozensetможно использовать как ключ в словарях или элемент других множеств, так как он хешируем, аset— нет.
Пример использования:
s = set([1, 2, 3])
s.add(4) # Обычное множество можно изменить
fs = frozenset([1, 2, 3])
# fs.add(4) # Ошибка, нельзя изменить frozenset
# frozenset можно использовать как ключ словаря
d = {fs: "immutable set"}
print(d[fs]) # Выведет: immutable set
Таким образом, frozenset полезен, когда нужно иметь множество, которое не изменяется и может использоваться в качестве ключа или элемента других коллекций.