Back to questions
Rutube
Junior — Middle
52
Каковы основные условия и правила для использования ключей в словарях Python?
Companies where asked
Answer from AI
sobes.tech AI
В Python ключи словаря должны удовлетворять следующим условиям:
- Быть хешируемыми (hashable). Это значит, что объект должен иметь неизменяемое состояние и реализовывать метод
__hash__(). - Быть сравнимыми на равенство через
__eq__(), чтобы словарь мог корректно определять, совпадают ли ключи.
Чаще всего в качестве ключей используются неизменяемые типы данных, например:
- строки (
str) - числа (
int,float) - кортежи (
tuple), если все их элементы тоже хешируемы
Пример:
my_dict = {}
my_dict["key"] = 123
my_dict[(1, 2)] = "tuple key"
Если попытаться использовать изменяемый тип, например список, как ключ, будет вызвана ошибка TypeError:
my_dict = {}
my_dict[[1, 2]] = "list key" # TypeError: unhashable type: 'list'
Таким образом, ключи должны быть неизменяемыми и хешируемыми объектами, чтобы словарь мог эффективно хранить и искать значения.