У нас есть кортеж, все элементы которого — списки. Если изменить один из списков (append), изменится ли кортеж?

Кортеж в Python — это неизменяемый (immutable) тип данных, то есть сам кортеж нельзя изменить после создания: нельзя добавить, удалить или заменить элементы.

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

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

Кортеж в Python — это неизменяемый (immutable) тип данных, то есть сам кортеж нельзя изменить после создания: нельзя добавить, удалить или заменить элементы.

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

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

Кортеж в Python — это неизменяемый (immutable) тип данных, то есть сам кортеж нельзя изменить после создания: нельзя добавить, удалить или заменить элементы.

Однако, если элементы кортежа — изменяемые объекты, например списки, то содержимое этих списков можно менять. Изменение содержимого списка внутри кортежа не изменяет сам кортеж как объект, но меняет данные внутри вложенного изменяемого элемента.

Пример:

t = ([1, 2], [3, 4])
t[0].append(5)
print(t)  # Выведет: ([1, 2, 5], [3, 4])

Таким образом, кортеж как объект не изменился (его структура и ссылки на объекты те же), но содержимое вложенного списка изменилось. Это важно учитывать, чтобы не путать неизменяемость контейнера и изменяемость его элементов.

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

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

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

Подробнее