Курс 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. Генерация чисел с range()
  3. Метод __getitem__ в Python
  4. Бесконечные списки в Python
  5. Строки в Python: апострофы и кавычки
  6. Проверка кортежей.
  7. Namedtuple в Python
  8. Работа с файлами в Python
  9. Проверка строки на палиндром
  10. Основы Python
  11. Функции map, filter и reduce
  12. Комментарии в Python.
  13. Метод join() для объединения элементов строки
  14. Освобождение памяти в Python
  15. Проверка элементов списка условием
  16. Переворот последовательности
  17. Измерение времени выполнения кода
  18. Объединение объектов в Python
  19. Подсчет элементов в списке с Counter
  20. Динамическая типизация в Python
  21. Получение текущей директории
  22. Оценка выражений генератора в Python
  23. Запуск внешних программ с subprocess
  24. Метод setitem в Python
  25. Измерение времени выполнения в Python
  26. Конкатенация строковых литералов
  27. Поиск всех индексов подстроки
  28. Работа с словарями в Python
  29. Работа с контекстным менеджером Pool
  30. Работа с контекстными менеджерами
  31. Работа с zip()
  32. Список и кортеж в Python
  33. Подсказки при вводе данных в Python
  34. Запуск асинхронной корутины
  35. Модуль inspect: получение информации о объектах
  36. Генератор надежных паролей
  37. Извлечение чисел из текста
  38. enumerate() в Python для работы с индексами
  39. Частичное применение функций в Python
  40. Расчет времени выполнения
  41. Добавление кнопки в tkinter
  42. Функциональное программирование в Python
  43. Управление памятью в Python
  44. Конвертация текстовых чисел с помощью Numerizer
  45. Отладка в командной строке
  46. Обход дочерних элементов BeautifulSoup

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