Курс 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. Оператор обр. импликации
  2. Автоматизация действий с Pyautogui
  3. ChainMap избыточные ключи
  4. Combobox в Tkinter
  5. Удаление элемента из списка
  6. Оператор += в Python
  7. Фильтрация списка от «ложных» значений
  8. Метод bool() в Python
  9. Работа с кортежами в Python
  10. Проверка строки на палиндром
  11. Выражения-генераторы в Python
  12. Сравнение строк в Python
  13. Обновление шаблона base.html
  14. Рекурсия для обращения строки
  15. Управление ресурсами с контекстными менеджерами
  16. Контекстный менеджер в Python
  17. Создание и операции с дробями
  18. Расчет времени выполнения
  19. Списковое включение в Python
  20. Курсы Яндекс Практикум
  21. Структуры данных в Python
  22. Оформление кода на Python
  23. Переопределение метода __or__()
  24. Импорт модуля из другого каталога
  25. Метаклассы в Python
  26. Функции в одну строку
  27. Создание новых списков в Python
  28. Создание новых списков
  29. Поиск подстроки в строке
  30. Модуль future Python
  31. capitalize() — изменение регистра первого символа строки
  32. CSV строка разделение в Python
  33. Pillow: работа с изображениями
  34. Создание новых функций через partial
  35. Разделение строк в Python
  36. Наследование в программировании
  37. Анализ кода — Python
  38. Метод repr() в Python
  39. Атрибуты объекта в Python
  40. Функция enumerate() в Python
  41. Работа с коллекциями Python
  42. Списки в Python: основы
  43. JMESPath в Python
  44. Измерение времени выполнения кода
  45. Объединение множеств в Python
  46. Оператор «not» в Python
  47. Получение комбинаций в Python
  48. Запуск внешних программ с subprocess

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