Курс 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. Работа с GitHub в Telegram
  2. Сериализация данных в JSON с помощью json.dumps
  3. Удаление falsy-значений из списка с помощью filter
  4. Подписка на @SelectelNews
  5. Порядок операций в Python
  6. Передача параметров в Python
  7. Поиск подстроки в строке
  8. Вычисление натуральных логарифмов в NumPy
  9. Использование defaultdict в Python
  10. Списки: объединение, изменение
  11. Сложение матриц в NumPy
  12. Работа с collections в Python.
  13. Логирование с Logzero
  14. Управление доступом к модулю
  15. Управление виртуальными окружениями в Python
  16. Оператор += в Python
  17. Проблема сравнения словарей
  18. Функция eval() в Python
  19. Получение размера объекта с sys.getsizeof()
  20. Numpy: разбиение массивов
  21. Обрезка изображения с Pillow
  22. Вложенные генераторы в Python
  23. Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
  24. Подписка на SelectelNews в Twitter
  25. Создание словарей и множеств в Python
  26. Очистка данных в Python
  27. Работа со словарями с defaultdict из collections
  28. Создание и операции с дробями
  29. Работа с изображениями PIL
  30. Работа с утверждениями в Python
  31. %pinfo: получение информации об объекте
  32. Преобразование текста в нижний регистр
  33. Оценка точности модели
  34. Генерация UUID в Python
  35. Тестирование модели в PyTorch
  36. Метод rrshift для пользовательских объектов
  37. Применение функции map() в Python
  38. Оператор «or» в Python
  39. Ввод нескольких значений
  40. Имена объектов в Python
  41. Поиск кода
  42. Использование подчеркивания в REPL
  43. Генераторы списков в Python
  44. Удаление файлов с shutil.os.remove()
  45. Простой калькулятор Python
  46. Транспонирование 2D-массива с помощью zip

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