Что из этого (список и генератор) является копией данных, а что нет?

Список материализует элементы, а генератор вычисляет их по мере запроса. Но само наличие списка не означает глубокую копию данных: обычно в нём хранятся ссылки на те же объекты.

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

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

Список материализует элементы, а генератор вычисляет их по мере запроса. Но само наличие списка не означает глубокую копию данных: обычно в нём хранятся ссылки на те же объекты.

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

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

Список материализует элементы, а генератор вычисляет их по мере запроса. Но само наличие списка не означает глубокую копию данных: обычно в нём хранятся ссылки на те же объекты.

list(existing_list) создаёт новый внешний контейнер, сохраняя ссылки на вложенные объекты; присваивание b=a вообще не копирует список. Генератор хранит состояние вычисления и может читать изменяемый источник позже, поэтому не обязательно является снимком. Кроме того, он обычно одноразовый: после исчерпания нужно создать новый. Точный ответ зависит от выражения создания; для независимой копии вложенных структур нужна отдельная политика копирования.

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

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

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

Подробнее