Sobes.tech
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.