Курс 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. Поиск с библиотекой Google
  2. Выражения-генераторы в Python
  3. Умножение строк и списков
  4. Работа с OpenCV
  5. Работа со словарями в Python
  6. Поиск шаблона в начале строки
  7. Работа с утверждениями в Python
  8. Разбиение текста в Python
  9. Преобразование данных в Python
  10. Сериализация данных в JSON с помощью json.dumps
  11. Добавление Progressbar в Python
  12. Модуль math: константы π и e
  13. Работа с deque из collections
  14. Модуль xkcd: загрузка комиксов
  15. Декораторы в Python
  16. Использование модуля math
  17. Замена текста с помощью sub
  18. Добавление вложенных списков
  19. Оператор «not» в Python
  20. *args и **kwargs в Python
  21. Локальные переменные.
  22. Сравнение строк в Python
  23. Функции range() в Python
  24. Эффективная конкатенация строк в Python
  25. Работа с defaultdictами в Python
  26. HTTP-запросы с библиотекой Requests
  27. Метод is_absolute() для PurePath
  28. Подписка на SelectelNews в Twitter
  29. Работа с IP-адресами в Python
  30. Модуль itertools: комбинации и перестановки
  31. Операции с массивами в NumPy
  32. Парсинг веб-страниц с Beautiful Soup
  33. Сравнение def и lambda-функций
  34. Инверсия списков и строк в Python
  35. Измерение времени выполнения кода
  36. Удаление ключа из словаря
  37. Цикл while в Python
  38. Наследование в программировании
  39. Обработка исключений с блоком else
  40. Создание матрицы в Python
  41. Условное добавление элементов в список
  42. Работа с пакетами
  43. Генерация случайных чисел в Python
  44. Список импортированных модулей в Python
  45. Метод __call__ в Python
  46. История Python

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