Элемент самого tuple заменить нельзя, но значение словаря можно переназначить на новый tuple. Если внутри tuple есть изменяемый объект, его содержимое можно менять отдельно.
Можем ли мы изменить только одно значение в tuple, который является значением в словаре?
Элемент самого tuple заменить нельзя, но значение словаря можно переназначить на новый tuple. Если внутри tuple есть изменяемый объект, его содержимое можно менять отдельно.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Элемент самого tuple заменить нельзя, но значение словаря можно переназначить на новый tuple. Если внутри tuple есть изменяемый объект, его содержимое можно менять отдельно.
Например:
data = {'point': (1, 2, 3)}
t = data['point']
data['point'] = t[:1] + (9,) + t[2:]
# Теперь значение словаря — (1, 9, 3), а t осталось (1, 2, 3).
Операция создаёт новый кортеж и не меняет другие ссылки на прежний. Присваивание t[1] = 9 завершится TypeError.