Курс 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. Установка и использование howdoi
  3. Расчет времени выполнения программы
  4. Изменение списка срезом
  5. Функция map() и ленивая оценка
  6. Замена текста с помощью sub
  7. Сортировка с параметром key
  8. Отладка в Python
  9. Анализ текста на русском языке с помощью Pymystem3
  10. Очистка данных с помощью pandas
  11. Принципы программирования
  12. Работа с рекламными данными в Pandas
  13. Нахождение отличий в списках
  14. Сортировка с помощью параметра key
  15. Сортировка с помощью key
  16. Создание Radio кнопок в tkinter
  17. Форматирование строк с помощью f-строк
  18. Подсчет элементов в Python
  19. Оператор деления для класса Rational
  20. Инверсия списка и строки
  21. Декоратор Ajax required
  22. Работа с модулем random
  23. Печать списка с помощью метода join
  24. CLI-инструмент howdoi
  25. Списки в Python: синтаксис представления
  26. Многострочные комментарии в Python
  27. Работа с переменными в Python
  28. Разрешение имен в Python
  29. Обработка ошибок в Python
  30. Навыки Python: строки, типы данных
  31. Установка пакетов с помощью pip
  32. Получение текущей даты и времени с помощью datetime
  33. Профилирование данных с Pandas
  34. Получение локальных переменных в Python
  35. Лямбда-функции для min/max
  36. Модуль future Python
  37. Сохранение Unicode в JSON
  38. Обновление данных через PUT запрос
  39. Проблемы с именами переменных
  40. Добавление цвета в консоли
  41. Python Enumerate
  42. Асинхронный код в Python
  43. Изменяемые и неизменяемые объекты
  44. Путь к интерпретатору Python
  45. Открытие и запись файлов
  46. Объединение словарей в Python

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