Курс 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. Удаление элемента из списка в Python
  2. Генераторные функции в Python
  3. TypedDict для kwargs в Python 3.12
  4. Назначение максимального и минимального значения переменной в Python.
  5. Python Метод Union Множеств
  6. Работа с модулем bisect
  7. 9 уловок для чистого кода
  8. Оптимизация гиперпараметров в Python
  9. Принципы программирования
  10. Переменные класса и экземпляра
  11. Работа с географическими данными в Python
  12. Удаление URL-адресов в Python
  13. Операторы += в Python
  14. Множественные конструкторы в Python
  15. Функции all и any в Python
  16. Итераторы с потерямиZIP
  17. Порядок и длина множеств в Python
  18. Объединение словарей в Python
  19. Пересечение списков с использованием множеств
  20. Получение срезов итераторов
  21. Получение атрибутов и методов класса
  22. Метод setitem в Python
  23. Особенности множеств в Python
  24. Метод repr() в Python
  25. Python enumerate() функции
  26. Операторы объединения в Python 3.9
  27. Удаление файлов с shutil.os.remove()
  28. Замер времени выполнения кода
  29. Mad Libs Generator
  30. Генерация тестовых данных с factory_boy
  31. Метод сравнения объектов в Python
  32. Оптимизация памяти с __slots__
  33. Отправка HTTP-запросов с User-Agent
  34. Создание виртуальной среды
  35. Просмотр файла в Jupyter Noteboo
  36. Профилирование данных с Pandas
  37. Установка пакета в Python
  38. Объявление переменных в Python
  39. Изменения в обработке логических значений
  40. Список переменных с %who
  41. Переопределение унарных операторов
  42. Удаление ключа из словаря
  43. Каналы Senior: Python, Java, Frontend, SQL, C++
  44. Проекты на Python
  45. Проблема сравнения словарей
  46. Повторение элементов в Python

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