Этот вопрос проверяет знание правил использования ключей в словаре Python.
Ключом в словаре может быть любой объект, который является неизменяемым и хэшируемым. Это могут быть строки, числа, кортежи (если их элементы тоже неизменяемы). Множества, списки и словари не могут быть ключами, так как они изменяемы и не хэшируемы.
Ключи в словаре должны быть:
Неизменяемыми: строка (str), число (int, float), кортеж (tuple) или логическое значение (bool).
Хэшируемыми: объект должен иметь уникальное хэш-значение, возвращаемое функцией hash().
Пример правильных ключей:
my_dict = {
"key": "value", # строка
42: "value", # число
(1, 2): "value" # кортеж
}Пример ошибки:
invalid_dict = {
[1, 2]: "value" # Ошибка: список не может быть ключом
}Проверка хэшируемости:
print(hash("hello")) # Строка: хэшируема
print(hash((1, 2, 3))) # Кортеж: хэшируем
# print(hash([1, 2, 3])) # Ошибка: список не хэшируем