Что такое кортеж и какие типы данных в Python являются изменяемыми и неизменяемыми?

Кортеж — неизменяемая последовательность объектов. В Python list, dict и set изменяемы, а int, float, str, tuple и frozenset неизменяемы; при этом внутри кортежа могут находиться изменяемые объекты.

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

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

Кортеж — неизменяемая последовательность объектов. В Python list, dict и set изменяемы, а int, float, str, tuple и frozenset неизменяемы; при этом внутри кортежа могут находиться изменяемые объекты.

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

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

Кортеж — неизменяемая последовательность объектов. В Python list, dict и set изменяемы, а int, float, str, tuple и frozenset неизменяемы; при этом внутри кортежа могут находиться изменяемые объекты.

Нельзя заменить элемент кортежа или изменить его длину, но список, на который он ссылается, можно менять. Поэтому неизменяемость контейнера не означает глубокую неизменяемость содержимого. Также tuple не всегда хешируем: кортеж со списком нельзя использовать ключом dict. Различайте изменение самого объекта и перепривязывание переменной к другому значению.

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

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

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

Подробнее