Что может быть ключом в словаре

«Что может быть ключом в словаре» — вопрос из категории Python, который задают на 33% собеседований Аналитик Данных. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Python ключом словаря может быть любой хешируемый (immutable) объект. Это означает, что объект должен иметь неизменяемое значение и корректно реализованный метод __hash__().

Примеры допустимых ключей:

  • Числа (int, float)
  • Строки (str)
  • Кортежи (tuple), если все их элементы тоже хешируемы
  • frozenset

Примеры НЕдопустимых ключей:

  • Списки (list)
  • Словари (dict)
  • Множества (set)

Пример:

valid_dict = {
    42: "Ответ на все вопросы",
    "name": "Alice",
    (1, 2): "Кортеж как ключ"
}

# Не сработает:
invalid_dict = {[1, 2]: "Ошибка!"}  # TypeError: unhashable type: 'list'

Видео-ответы