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

Является ли slicing списка shallow или deep копией в Python

Slicing списка в Python создает shallow копию (поверхностную копию). Это означает, что новый список содержит ссылки на те же объекты, что и исходный список, но сам список — новый объект.

Пример:

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

# Изменение вложенного элемента отразится в обоих списках
sliced[0][0] = 99
print(original)  # [[99, 2], [3, 4]]
print(sliced)    # [[99, 2], [3, 4]]

# Но замена элемента целиком — нет
sliced[1] = [5, 6]
print(original)  # [[99, 2], [3, 4]]
print(sliced)    # [[99, 2], [5, 6]]

Для deep копии используйте copy.deepcopy().

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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