Встречается на собеседованиях • сегодня

В чем различия между set и frozenset в Python

Основное отличие set от frozenset в том, что set — это изменяемая (mutable) коллекция, а frozenset — неизменяемая (immutable).

Ключевые различия:

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

Пример:

python
s = {1, 2, 3}  
fs = frozenset([4, 5, 6])  

s.add(4)       # OK  
# fs.add(7)    # Ошибка: 'frozenset' object has no attribute 'add'  

d = {fs: "value"}  # Работает  
# d = {s: "value"} # TypeError: unhashable type: 'set'

Используйте frozenset, когда нужна неизменяемость и хешируемость.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы