Сравнение и хеширование Python: задачи на __eq__, __lt__ и set

Объект уже лежит в set, но после изменения поля поиск ведёт себя неожиданно. Другой объект умеет сравниваться только с частью соседей. Эти ситуации заставляют разобраться в согласованности равенства, хеширования и порядка. В задачах нужно искать объекты с изменённым хешем, задавать сравнение с допустимым диапазоном и ранжировать экземпляры разных классов. Вопросы про NotImplemented помогут отличить неподдерживаемое сравнение от обычного результата False.

Как заниматься

6 заданий ниже можно проходить по порядку или выбирать нужную проблему. В заданиях на код есть проверка решения; в вопросах — проверка выбранного ответа. Требования к реализации и примеры приведены на страницах заданий.

Вся практика собрана в бесплатном большом задачнике по Python для разработчиков.

Смежная практика