Middle
24
Какие есть ограничения на ключи в dict в Python?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В Python ключи в словаре (dict) должны быть хешируемыми (immutable) объектами. Это означает, что ключи должны иметь неизменяемое состояние и реализовывать метод __hash__().
Основные ограничения:
- Ключи должны быть неизменяемыми типами, например: строки (
str), числа (int,float), кортежи (tuple), если все элементы кортежа тоже хешируемы. - Нельзя использовать изменяемые типы, такие как списки (
list), множества (set), словари (dict) в качестве ключей, так как они не хешируемы.
Пример:
valid_dict = {
"key": 1,
42: "value",
(1, 2): "tuple key"
}
invalid_dict = {
[1, 2]: "list as key" # вызовет TypeError
}
Если попытаться использовать изменяемый объект в качестве ключа, Python выдаст ошибку TypeError: unhashable type.