Встречается на собеседованиях • сегодня
Почему изменяемый объект не может быть ключем словаря
В Python ключ словаря должен быть хешируемым объектом. Хешируемость требует, чтобы объект имел неизменяемое значение хеша на протяжении всей своей жизни. Изменяемые объекты (например, списки или словари) не могут быть ключами, потому что их содержимое может измениться, что приведёт к изменению хеша и нарушит работу словаря.
Пример:
python
d = {}
lst = [1, 2, 3]
d[lst] = "value" # TypeError: unhashable type: 'list'Для использования изменяемых объектов в качестве ключей можно преобразовать их в неизменяемые (например, кортеж для списка):
python
d = {tuple([1, 2, 3]): "value"} # Работает, так как кортеж неизменяем
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы