Встречается на собеседованиях • сегодня
Почему нельзя сделать ключом словаря изменяемую структуру данных в Python
В Python ключ словаря должен быть хешируемым объектом, что означает, что он должен иметь неизменяемое значение хеша на протяжении всего времени жизни. Изменяемые структуры данных (например, списки или словари) не могут быть ключами, потому что их содержимое может измениться, что приведёт к изменению хеша. Это нарушит работу словаря, так как он использует хеш ключа для быстрого доступа к значениям.
Пример:
python
# Работает, так как кортеж неизменяем
valid_dict = {(1, 2): "value"}
# Вызовет TypeError, так как список изменяем
invalid_dict = {[1, 2]: "value"} Для использования изменяемых объектов в качестве ключей можно преобразовать их в неизменяемые (например, список в кортеж) или использовать пользовательский класс с переопределёнными __hash__ и __eq__.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы