Tabela de pesquisa para unhashable em Python

Preciso criar um mapeamento de objetos de minha própria classe personalizada (derivada de dict) para objetos de outra classe personalizada. A meu ver, existem duas maneiras de fazer isso:

Eu posso fazer os objetos laváveis. Não tenho certeza de como eu faria isso. Eu sei que posso implementar__hash__() mas não sei como calcular o hash (que deve ser um número inteiro).

Como meus objetos podem ser comparados, posso fazer uma lista [(myobj, myotherobj)] e, em seguida, implementar uma pesquisa que encontre a tupla em que o primeiro item da tupla é o mesmo da chave de pesquisa. Implementar isso é trivial (o número de objetos é pequeno), mas quero evitar reinventar a roda se algo assim já existir na biblioteca padrão.

Parece-me que querer procurar unhashables seria um problema comum, por isso suponho que alguém já tenha resolvido esse problema. Quaisquer sugestões sobre como implementar__hash()__ para um objeto semelhante a um ditado ou se houver alguma outra maneira padrão de criar tabelas de pesquisa de unhashables?

questionAnswers(4)

yourAnswerToTheQuestion