Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: copy, deep

Отличие shallow copy от deep copy?

Вопрос сравнивает поверхностное и глубокое копирование объектов в Python.

Короткий ответ

  • Shallow copy создаёт новый объект, но копирует ссылки на вложенные элементы.

  • Deep copy рекурсивно копирует все вложенные объекты. Изменения в копии не затрагивают оригинал.

Длинный ответ

1. Shallow copy:

  • Реализуется через copy.copy() или list.copy().

  • Вложенные изменяемые объекты остаются общими.

Пример:

import copy
lst1 = [1, [2, 3]]
lst2 = copy.copy(lst1)

lst2[0] = 10  # Не влияет на lst1
lst2[1][0] = 20  # Меняет lst1[1][0]
print(lst1)  # [1, [20, 3]]

2. Deep copy:

  • Реализуется через copy.deepcopy().

  • Полностью независимая копия.

lst3 = copy.deepcopy(lst1)
lst3[1][0] = 30  # Не влияет на lst1

Когда использовать:

  • Shallow: если вложенные объекты неизменяемы.

  • Deep: для полного клонирования сложных структур.

Вывод:
Deep copy безопаснее, но требует больше ресурсов.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    1

  • Сложность:

    5

Навыки

  • Python

    Python

Ключевые слова

#copy

#deep

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.