Check

Разница между shallow и deep copy

Python Middle Сбербанк
Объясните разницу между поверхностным (shallow) и глубоким (deep) копированием объектов в Python. Приведите пример, когда поверхностной копии недостаточно.
Ответы
shallow vs deep copy
shallow copy (поверхностная копия): - создаётся новый контейнер, но вложенные объекты не копируются, а переиспользуются. deep copy (глубокая копия): - копируются рекурсивно все вложенные объекты. Пример: ```python import copy lst = [[1, 2], [3, 4]] sh = copy.copy(lst) dp = copy.deepcopy(lst) lst[0].append(99) print(sh) # [[1, 2, 99], [3, 4]] print(dp) # [[1, 2], [3, 4]] ``` Поверхностной копии недостаточно, когда вы хотите полностью изолировать копию от изменений во вложенных структурах.