Курс Python → Копирование в Python

Копирование в Python — это процесс создания копии объекта, чтобы иметь возможность работать с ним независимо от оригинала. Для этого используется оператор = или метод copy(). При копировании объекта создается новый объект, который имеет те же значения, что и оригинал, но при этом изменения в одном объекте не влияют на другой.

Однако стоит помнить, что копирование может быть как поверхностным, так и глубоким. При поверхностном копировании создается новый объект, но его вложенные объекты остаются ссылками на объекты оригинала. При глубоком копировании все объекты внутри копируемого объекта также рекурсивно копируются.

Пример поверхностного копирования:


import copy

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

original_list[2][0] = 5

print(original_list)  # [1, 2, [5, 4]]
print(copied_list)    # [1, 2, [5, 4]]

Пример глубокого копирования:


import copy

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

original_list[2][0] = 5

print(original_list)      # [1, 2, [5, 4]]
print(deep_copied_list)   # [1, 2, [3, 4]]

Таким образом, копирование в Python позволяет создавать независимые копии объектов, что может быть полезно при работе с данными, чтобы избежать неожиданных изменений и ошибок.

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

Автор урока

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

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

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

  1. Лямбда-функции для min/max
  2. Управление виртуальными средами в Python
  3. Проверка версии Python
  4. Сравнение строк в Python
  5. Работа с срезами в Numpy
  6. Преобразование range в итератор
  7. Измерение времени выполнения кода
  8. Python Enum Weekday Usage
  9. Удаление элементов по срезу
  10. Создание новой даты в Python
  11. Управление памятью в numpy.
  12. Объединение списков с помощью zip
  13. Управление IP-адресами через прокси
  14. Извлечение новостей с newspaper3k
  15. Метод join() для объединения строк
  16. Декораторы для регистрации функций
  17. Оптимизация интернирования строк
  18. Хэш-функции и метод цепочек
  19. Установка и использование Python-dateutil
  20. Передача аргументов в Python
  21. Фильтрация последовательности
  22. Проверка версии Python
  23. Создание детектора плагиата
  24. Работа с классами данных
  25. Переворот списка в Python
  26. Функции в Python: создание и вызов
  27. Функция count() в Python
  28. Удаление первого элемента списка
  29. Фильтрация входных данных в Python
  30. Нахождение пересечения множеств
  31. Работа с пакетами
  32. Использование *args
  33. Обмен переменными в Jupyter
  34. Создание списков в Python
  35. Конкатенация строк в Python
  36. Удаление файлов в Python
  37. Операторы объединения в Python 3.9
  38. Циклы for в Python
  39. Отрицательные индексы списков
  40. EMOT преобразование эмодзи в текст
  41. Работа с YAML в Python
  42. Аннотации типов в Python
  43. Переопределение метода xor в Python
  44. Многострочные комментарии в Python
  45. Оформление кода на Python
  46. Генераторы по генератору

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