Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: slice, list, shallow copy

Что представляет собой срез списка (shallow/deep copy)?

Вопрос объясняет, как работает срез списка с точки зрения копирования данных.

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

Срез списка (list[start:end]) создаёт shallow copy — новый список, но с ссылками на те же вложенные объекты. Для полного копирования нужен deepcopy.

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

Поведение среза:

  • Создаёт новый список, но элементы остаются теми же объектами.

  • Для вложенных изменяемых объектов это может привести к неожиданным изменениям.

Пример:

original = [1, [2, 3], 4]
sliced = original[1:3]  # [[2, 3], 4]

sliced[0][0] = 99  # Меняет original[1][0]
print(original)  # [1, [99, 3], 4]

Как избежать проблем:

  • Использовать deepcopy для вложенных структур:

    from copy import deepcopy
    sliced_deep = deepcopy(original)[1:3]

Вывод:
Срезы подходят для копирования "плоских" списков.

  • Аватар

    Python Guru

    Sergey Filichkin

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

Уровень

  • Рейтинг:

    1

  • Сложность:

    5

Навыки

  • Python

    Python

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

#slice

#list

#shallow copy

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

  • Аватар

    Python Guru

    Sergey Filichkin

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