Курс Python → Глубокое копирование объектов

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

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


import copy

original_list = [1, 2, [3, 4]]
deep_copy_list = copy.deepcopy(original_list)

deep_copy_list[2].append(5)

print(original_list)  # Output: [1, 2, [3, 4]]
print(deep_copy_list)  # Output: [1, 2, [3, 4, 5]]

В приведенном примере создается глубокая копия списка original_list с вложенным списком. После добавления элемента во вложенный список новая копия (deep_copy_list) отличается от оригинала (original_list), что подтверждает успешное выполнение глубокого копирования.

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

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Удаление символа из строки
  2. Преобразование символов в нижний регистр
  3. Отладка утечек памяти в Python
  4. Генераторы списков в Python
  5. Частичное совпадение ввода
  6. Поиск частых элементов в списке
  7. Добавление элемента к кортежу
  8. Методы работы со строками в Python
  9. Логирование с Logzero
  10. Progress с библиотекой tqdm
  11. Функция eval() в Python
  12. Работа с getopt
  13. Создание итератора
  14. Получение атрибутов и методов класса
  15. Добавление элемента в список.
  16. Установка и использование библиотеки google
  17. Рациональные числа в Python
  18. Упрощение работы с JSON-данными в Python
  19. Сортировка с параметром key
  20. Работа с Event() в threading
  21. Установка и загрузка Instaloader
  22. Форматирование данных с помощью pprint
  23. Переопределение метода len
  24. Импорт с альтернативным именем
  25. Структура строк в Python
  26. Подписка на SelectelNews в Twitter
  27. Вычисление разности множеств в Python
  28. Объединение множеств в Python
  29. Работа с CSV в Python
  30. Каналы Senior: Python, Java, Frontend, SQL, C++
  31. Форматирование вывода списков
  32. Проверка типа данных
  33. Преобразование числа в восьмеричную строку
  34. Генераторные выражения и islice.
  35. Частичное применение функций в Python
  36. Декораторы в Python
  37. Добавление элементов в список: append() vs extend()
  38. Удаление элементов из списка в Python.
  39. Группы исключений в Python
  40. Создание графиков в терминале
  41. Любовь к Python
  42. Просмотр атрибутов и методов класса

Marketello читают маркетологи из крутых компаний