Sobes.tech
Junior — Middle
41

Какие типы данных подходят как ключ словаря в Python и почему?

Answer from AI

sobes.tech AI

В Python ключами словаря могут быть только неизменяемые (immutable) типы данных, потому что ключи должны быть хешируемыми для быстрого поиска. К таким типам относятся:

  • Числа (int, float, complex)
  • Строки (str)
  • Кортежи (tuple), если все их элементы тоже неизменяемы
  • Булевы значения (bool)

Например, список или словарь не могут быть ключами, так как они изменяемы и не имеют фиксированного хеша. Использование неизменяемых типов гарантирует, что ключ не изменится после добавления в словарь, что важно для корректной работы хеш-таблицы.

Пример:

my_dict = {
    42: 'число',
    'ключ': 'строка',
    (1, 2): 'кортеж'
}
print(my_dict[(1, 2)])  # Выведет: кортеж