Курс Python → Копирование объектов в Python
Модуль copy в Python предоставляет возможность создания копий объектов, что особенно полезно при работе с изменяемыми коллекциями или коллекциями, содержащими изменяемые элементы. При обычном присваивании объекта переменной создается лишь ссылка на этот объект, что может привести к нежелательным изменениям в оригинальном объекте. Для избежания подобных проблем используется копирование объектов с помощью модуля copy.
Существует два типа копирования объектов с использованием модуля copy: поверхностное и глубокое. Поверхностное копирование создает новый объект, но ссылается на те же объекты, что и оригинал. Глубокое копирование, в свою очередь, создает копию объекта, а также копии всех объектов, на которые он ссылается.
Для выполнения поверхностного копирования объектов используется функция copy.copy(), а для глубокого копирования — функция copy.deepcopy(). При глубоком копировании все объекты, на которые ссылается оригинал, также рекурсивно копируются, что обеспечивает полную изоляцию копии от оригинала.
import copy
original_list = [1, 2, [3, 4]]
shallow_copy = copy.copy(original_list)
deep_copy = copy.deepcopy(original_list)
original_list[2][0] = 5
print(original_list) # [1, 2, [5, 4]]
print(shallow_copy) # [1, 2, [5, 4]]
print(deep_copy) # [1, 2, [3, 4]]
В приведенном выше примере мы создаем оригинальный список original_list, затем создаем поверхностную копию shallow_copy и глубокую копию deep_copy. После изменения элемента вложенного списка в оригинальном списке, видим, что это изменение отразилось на поверхностной копии, но не на глубокой копии.
Другие уроки курса "Python"
- ChainMap.new_child() — добавление нового словаря
- Применение промокода в Много лосося
- Форматирование строк в Python.
- Извлечение новостей с помощью newspaper3k
- Вывод символов строки в Python
- Добавление элемента в список.
- Функции-генераторы в Python
- Управление User-Agent в Python
- Сортировка элементов с OrderedDict
- Логические значения в Python
- Названия столбцов в Python таблицах
- Работа с библиотекой xkcd
- Сравнение объектов в Python
- Парсинг веб-страниц с Beautiful Soup
- Сортировка элементов в Python
- Группы исключений в Python
- Равенство и идентичность в Python
- Создание пользовательской коллекции в Python
- Создание списка дат
- Работа с файлами в Python
- Работа с прокси в Python
- Изменение списка срезом
- CSV строка разделение в Python
- Сортировка и обратный порядок
- Antigravity модуль
- Копирование в Python
- Бесконечные списки в Python
- Группы исключений в Python
- Библиотека Chartify: руководство
- Структурирование данных с Pydantic
- Повторение элементов в Python
- Создание комплексных чисел
- Справка по импортированным модулям
- Извлечение статей с newspaper3k
- Создание namedtuple из словаря
- Метод get для словаря
- Функция enumerate в Python
- Отрицательные индексы списков
- Получение текущей даты и времени
- Курс по дообучению ChatGPT
- Путь к интерпретатору Python
- Управление ресурсами в Python
- Поиск самого частого элемента
- Работа с изменяемыми списками
- Оператор walrus в Python
- Сложные типы данных в Python
- Заказ карты Тинькофф Black















