Назад к вопросам
Middle
5
Что такое Shallow Copy и Deep Copy?
Компании, где спрашивали
Saber Interactive
Ответ от нейросети
sobes.tech AI
Shallow Copy (поверхностное копирование) создает новый объект, но вложенные объекты внутри него не копируются, а просто ссылаются на те же объекты, что и в оригинале.
Deep Copy (глубокое копирование) создает новый объект и рекурсивно копирует все вложенные объекты, так что копия полностью независима от оригинала.
Пример в Python:
import copy
original = [1, [2, 3], 4]
shallow = copy.copy(original)
deep = copy.deepcopy(original)
shallow[1][0] = 'changed'
print(original) # [1, ['changed', 3], 4] — изменился вложенный объект
deep[1][0] = 'deep changed'
print(original) # [1, ['changed', 3], 4] — оригинал не изменился
Здесь видно, что при shallow copy вложенный список изменяется и в оригинале, а при deep copy — нет.