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

В чем разница между глубоким (deep copy) и поверхностным (shallow copy) копированием

Глубокое копирование создает полностью независимую копию объекта со всеми вложенными объектами, тогда как поверхностное копирует только первый уровень, оставляя вложенные объекты ссылками на оригинал.

Пример с copy модулем:

python
import copy

original = [[1, 2], [3, 4]]
shallow = copy.copy(original) # поверхностная копия
deep = copy.deepcopy(original) # глубокая копия

original[0][0] = 99
print(shallow) # [[99, 2], [3, 4]] - изменилось
print(deep) # [[1, 2], [3, 4]] - осталось без изменений

text

Ключевые моменты:
- Поверхностное копирование (`copy()`) подходит для неизменяемых или простых объектов
- Глубокое копирование (`deepcopy()`) нужно для сложных вложенных структур
- Для списков `[:]` и `list()` создают поверхностные копии
- Глубокое копирование медленнее и требует больше памяти
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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