Substituindo a Função de Hashing do Python no Dicionário
Eu estou tentando criar uma função de hash personalizada para algum objeto que eu vou estar fazendo um dicionário. A função de hashing é única (não é a padrão do Python). Isso é muito importante para mim: usar a função exclusiva. O valor de cada chave é uma lista.
Supondo que eu anule__hash__
e acabam chegando com o número de hash certo para um objeto. Seria:
dict = {}
dict[number_here] = value
Hash o valor no número da posiçãonumber_here
ou ainda estaria na posição que a tabela de hash do Python calcularia para esse número?
Impressãodict
mostra apenas os itens e não qual posição eles são. No entanto, quando eu façohash(4)
, o resultado é 4. Então, estou assumindo que isso significa que os inteiros são divididos em hash para seus respectivos locais?
Alguém poderia por favor verificar minhas descobertas ou me explicar se eu estou errado?