Курс 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. Мониторинг памяти с Pympler
  3. Создание коллекций из выражения-генератора
  4. Распаковка значений в Python
  5. Переопределение метода __eq__
  6. Сглаживание списка
  7. Итерация по копии коллекции
  8. Печать календаря
  9. Применение функции map() с лямбда-функциями
  10. Строки в Python: апострофы и кавычки
  11. Сортировка HTML-элементов
  12. Сравнение строк в Python
  13. Хешируемые ключи в Python
  14. Делегирование в Python
  15. Цикл for в Python
  16. Работа с процессами в Python
  17. Bootle — простой веб-фреймворк
  18. Подсчет частоты элементов с Counter
  19. Имена объектов в Python
  20. Преобразование Word в PDF с Spire.Doc
  21. Удаление элементов из списка в Python.
  22. Оператор continue в Python
  23. Измерение потребления памяти при сортировке
  24. Работа с пользовательским вводом
  25. Проверка класса объекта
  26. Просмотр внешних файлов в %pycat
  27. Аннотации типов в Python
  28. Модуль math: константы π и e
  29. Методы HTTP запросов в Flask
  30. Оптимизация гиперпараметров с Scikit Optimize
  31. Выражения-генераторы в Python
  32. Замена элементов в списке с помощью генераторов списков
  33. Метод enumerate() в Python
  34. Форматирование строк с помощью f-строк
  35. Декоратор Ajax required
  36. Фильтрация последовательности
  37. Python defaultdict добавление ключа
  38. SciPy: широкий функционал для математических операций
  39. Проверка индексов коллекции
  40. Работа с модулем cmath
  41. Извлечение статей с newspaper3k
  42. Работа с часовыми поясами в Python
  43. Очистка входных данных
  44. Сериализация объектов в Python
  45. Работа со словарями с defaultdict из collections
  46. Встраивание HTML в Jupyter Notebook
  47. Создание пользовательской коллекции в Python

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