Да, значение словаря по ключу можно заменить новым tuple или другим объектом. Неизменяемость tuple запрещает изменение его элементов, но не переназначение ссылки в словаре.
У нас есть словарь, где ключ — строка, а значение — tuple. Можем ли мы поменять значение по этому ключу? Что произойдёт?
Да, значение словаря по ключу можно заменить новым tuple или другим объектом. Неизменяемость tuple запрещает изменение его элементов, но не переназначение ссылки в словаре.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Да, значение словаря по ключу можно заменить новым tuple или другим объектом. Неизменяемость tuple запрещает изменение его элементов, но не переназначение ссылки в словаре.
Например, d = {'a': (1, 2)}; d['a'] = (3, 4) корректно. Попытка d['a'][0] = 3 вызовет TypeError. Если сохранить old = d['a'] до замены, old продолжит ссылаться на прежний tuple. Вложенный изменяемый объект внутри tuple, например list, при этом может меняться отдельно.