Встречается на собеседованиях • сегодня

Что будет с манипуляцией с изменяемым объектом

При манипуляции с изменяемыми объектами (например, списки, словари, множества) изменения отражаются во всех ссылках на этот объект. Это происходит потому, что изменяемые объекты передаются по ссылке.

Пример:

python
a = [1, 2, 3]
b = a
b.append(4)
print(a)  # [1, 2, 3, 4] – изменился и `a`

Если нужно создать независимую копию, используйте:

  • copy() для поверхностного копирования
  • deepcopy() из модуля copy для полного копирования вложенных структур.

Пример с deepcopy:

python
from copy import deepcopy
a = [[1, 2], [3, 4]]
b = deepcopy(a)
b[0].append(5)
print(a)  # [[1, 2], [3, 4]] – `a` не изменился
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы