Встречается на собеседованиях • сегодня

Какое свойство должно быть у объекта, чтобы быть ключом в словаре

Объект может быть ключом в словаре, если он является хешируемым. В Python это означает, что объект должен:

  1. Иметь метод __hash__(), который возвращает целое число
  2. Иметь метод __eq__() для сравнения с другими объектами
  3. Быть неизменяемым (если объект изменяется, его хеш тоже должен меняться, что нарушит работу словаря)

Пример хешируемых объектов:

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)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы