dict1 = {(1,2, [3,4]): 0}

Создание dict1 выбросит TypeError: unhashable type: 'list': внутри ключа-кортежа есть список. Отдельное выражение var = 1, создаёт одноэлементный tuple, а не int.

Короткий ответ

Что ответить на собеседовании

Создание dict1 выбросит TypeError: unhashable type: 'list': внутри ключа-кортежа есть список. Отдельное выражение var = 1, создаёт одноэлементный tuple, а не int.

Подробный разбор

Ответ с пояснениями

Условие

dict1 = {(1,2, [3,4]): 0}

var = 1,

Ответ

Создание dict1 выбросит TypeError: unhashable type: 'list': внутри ключа-кортежа есть список. Отдельное выражение var = 1, создаёт одноэлементный tuple, а не int.

Кортеж пригоден как ключ лишь тогда, когда все его элементы хешируемы. Исправленный пример:

dict1 = {(1, 2, (3, 4)): 0}
var = 1,
print(var)        # (1,)
print(type(var)) # <class 'tuple'>

Если исходные строки выполняются подряд без обработки исключения, до присваивания var программа не дойдёт. Кортеж в Python создаёт запятая; скобки лишь помогают группировать выражения.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее