Курс 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. Метод ne для сравнения объектов
  3. Генератор списка в Python
  4. Получение списка кортежей из словаря
  5. Создание функций высшего порядка
  6. Работа с файлами в Python
  7. Основы Python
  8. Извлечение аудио из видео
  9. Транспонирование 2D-массива с помощью zip
  10. Разбиение строки в Python
  11. Работа с временем в Python
  12. Метод clear для коллекций
  13. Работа с URL-адресами в Python
  14. Определение объема памяти объекта
  15. Явный импорт в Python
  16. Сортировка с помощью key
  17. Функции в одну строку
  18. Обмен значений переменных в Python
  19. Работа с процессами в Python
  20. Работа с пакетами
  21. Проверка строки на палиндром
  22. Работа с GitHub в Telegram
  23. Повторение элементов в Python
  24. Функция zip() — объединение последовательностей
  25. Получение текущего времени в Python
  26. Получение текущей даты в Python
  27. Структура строк в Python
  28. Поиск наиболее частого элемента в списке
  29. Проверка условий: all и any
  30. Управление контекстом с помощью декоратора contextmanager
  31. Генератор данных в Keras
  32. Разделение строки с помощью split()
  33. Combobox в Tkinter
  34. Ограничение ресурсов в Python
  35. Аннотации типов в Python
  36. Работа с CSV файлами
  37. Получение текущей даты и времени
  38. Декораторы в Python
  39. Установка и использование emoji
  40. Применение функции к элементам списка
  41. Работа с deque в Python
  42. Библиотека funcy: удобные утилиты
  43. Работа с изменяемыми списками
  44. Оператор continue в Python
  45. Очистка вывода в Python
  46. Работа с датой и временем в Python
  47. Pillow: работа с изображениями
  48. Использование super() в Python
  49. Передача аргументов через **arguments

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