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

Что будет если к списку находящемуся в кортеже через оператор += присвоить список

При использовании оператора += с изменяемыми объектами (например, списком внутри кортежа), происходит модификация исходного списка, а не создание нового объекта. Кортеж останется неизменным, так как его элементы хранят ссылки, а сам список изменится.

Пример:

python
t = ([1, 2], 3)
t[0] += [4, 5]  # Вызовет TypeError, но список изменится!
print(t[0])     # [1, 2, 4, 5]

Хотя кортежи неизменяемы, их элементы-списки могут изменяться. Оператор += сначала попытается изменить кортеж (отсюда ошибка), но фактически модифицирует список. Лучше использовать extend() для явного изменения списка.

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

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

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

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