Что такое поверхностная копия (shallow copy)
Python
Middle
Без компании
Что такое поверхностная копия (shallow copy)
Ответы
Поверхностная копия создает новый объект, но копирует только ссылки на вложенные объекты, а не сами объекты. Изменения во вложенных объектах будут видны и в оригинале, и в копии.
```
import copy
original = [[1, 2], [3, 4]]
shallow_copy = copy.copy(original)
# Изменение вложенного списка
shallow_copy[0][0] = 99
print(original) # [[99, 2], [3, 4]]
print(shallow_copy) # [[99, 2], [3, 4]]
```
Основные способы создания shallow copy:
- `copy.copy()`
- Срез списка: `new_list = old_list[:]`
- Метод `list.copy()`
- Конструкторы: `list(old_list)`, `dict(old_dict)`
Для полного копирования вложенных структур нужна глубокая копия (`copy.deepcopy()`).