Курс 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. Получение пути к текущему скрипту с помощью os
  2. Поиск с помощью регулярных выражений
  3. Использование type hints
  4. Python: цикл for и оператор присваивания
  5. Открытие, чтение и закрытие файла
  6. Работа с файловой системой в Python
  7. Изменение элемента списка
  8. Строки в Python: апострофы и кавычки
  9. Любовь к Python
  10. Работа со строками в Python
  11. Оператор «and» в Python
  12. Метод add для класса Vector
  13. Python Метод sleep() из time
  14. Многострочные строки в Python
  15. Частичное совпадение пользовательского ввода в Python 3.10
  16. Оператор умножения для вектора
  17. lru_cache оптимизация функций
  18. Решатель судоку на Python с pygame
  19. Структуры данных в Python
  20. Декоратор Ajax required
  21. Бинарный поиск
  22. Ограничение ресурсов в Python
  23. Копирование списков в Python
  24. Настройка Cron
  25. HTTP-запросы с библиотекой Requests
  26. Использование html-скриптов в Jupyter Notebook
  27. Статическая типизация в Python
  28. Склеивание строк без циклов
  29. Объединение, распаковка и деструктуризация
  30. Генераторы данных
  31. Декоратор для группы пользователей в Django
  32. Работа с множествами в Python
  33. Создание словаря через dict comprehension
  34. Поиск повторов в списке
  35. Уникальные значения из списка
  36. Удаление знаков препинания в Python
  37. Повторение и перенос строки
  38. Работа с f-строками 2.0
  39. Декораторы в Python
  40. Хеши в Python
  41. Установка и использование модуля Wikipedia
  42. Преобразование числа в восьмеричную строку
  43. Переменные в Python: сокращение гласных
  44. Оператор * в Python
  45. Округление банкира в Python
  46. Стать Python-разработчиком
  47. Импорт в Python: список all
  48. Списковый компрехеншен.
  49. Работа с географическими данными.

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