[имя] спросил: В чём разница между изменяемыми и неизменяемыми типами Python?

В Python существуют изменяемые (mutable) и неизменяемые (immutable) наборы:

Короткий ответ

Что ответить на собеседовании

В Python существуют изменяемые (mutable) и неизменяемые (immutable) наборы:

Подробный разбор

Ответ с пояснениями

В Python существуют изменяемые (mutable) и неизменяемые (immutable) наборы:

  • set — изменяемый набор. Можно добавлять, удалять элементы после создания.
  • frozenset — неизменяемый набор. После создания его содержимое нельзя изменить.

Отличия:

  • Изменяемый set поддерживает методы add(), remove(), discard() и т.д.
  • frozenset не поддерживает изменение, но может использоваться как ключ в словарях или элемент других множеств, так как является хешируемым.

Пример:

s = set([1, 2, 3])
s.add(4)  # работает

fs = frozenset([1, 2, 3])
# fs.add(4)  # вызовет ошибку AttributeError

# frozenset можно использовать как ключ словаря
my_dict = {fs: "immutable set"}

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее