Можно ли использовать список в качестве ключа словаря в Python?

В Python ключами словаря могут быть только хешируемые объекты. Списки (list) являются изменяемыми и не хешируемыми, поэтому попытка использовать список в качестве ключа вызовет ошибку TypeError: unhashable type: 'list'.

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

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

В Python ключами словаря могут быть только хешируемые объекты. Списки (list) являются изменяемыми и не хешируемыми, поэтому попытка использовать список в качестве ключа вызовет ошибку TypeError: unhashable type: 'list'.

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

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

В Python ключами словаря могут быть только хешируемые объекты. Списки (list) являются изменяемыми и не хешируемыми, поэтому попытка использовать список в качестве ключа вызовет ошибку TypeError: unhashable type: 'list'.

Пример:

items = [1, 2, 3]
d = {}
d[items] = "value"  # TypeError

Чтобы использовать последовательность в качестве ключа, можно применить неизменяемый тип, например, кортеж (tuple):

d[(1, 2, 3)] = "value"  # Работает

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

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

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

Подробнее