> Что произойдет при изменении второго элемента списка b, если b = a (Python)

Уровень: middle · Роль: backend · Язык: Python · Категория: Технические вопросы

Компании: JetLend

Стек: Python

> Пример ответа

При присваивании b = a в Python не создаётся копия списка - обе переменные начинают ссылаться на один и тот же объект в памяти. Поэтому изменение второго элемента списка b (например, b[1] = 100) приведёт к тому, что второй элемент списка a также изменится. Это происходит из-за того, что списки являются изменяемыми (mutable) объектами, и операция присваивания копирует только ссылку, а не содержимое.

Пример:

PYTHON
a = [1, 2, 3]
b = a
b[1] = 100
print(a) # [1, 100, 3]
print(b) # [1, 100, 3]

Чтобы избежать такого поведения, нужно создать поверхностную копию через b = a.copy() или b = a[:], либо глубокую копию через copy.deepcopy(a) для вложенных структур.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью