Встречается на собеседованиях • сегодня
Какое свойство должно быть у объекта, чтобы быть ключом в словаре
Объект может быть ключом в словаре, если он является хешируемым. В Python это означает, что объект должен:
- Иметь метод
__hash__(), который возвращает целое число - Иметь метод
__eq__()для сравнения с другими объектами - Быть неизменяемым (если объект изменяется, его хеш тоже должен меняться, что нарушит работу словаря)
Пример хешируемых объектов:
python
# Работает - неизменяемые типы
d = {
42: 'int',
'hello': 'str',
(1, 2): 'tuple',
frozenset([1,2]): 'frozenset'
}
# Не сработает - изменяемые типы
try:
d[[1,2]] = 'list' # TypeError
except TypeError as e:
print(e)
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы