Zastępowanie funkcji haszowania Pythona w słowniku
Próbuję utworzyć niestandardową funkcję mieszania dla jakiegoś obiektu, który będę mieszał w słowniku. Funkcja haszująca jest unikalna (nie jest to standardowa wersja Pythona). To jest dla mnie bardzo ważne: użyć unikalnej funkcji. Wartość każdego klucza to lista.
Zakładając, że zastąpię__hash__
i skończyć z odpowiednim numerem mieszania dla obiektu. By:
dict = {}
dict[number_here] = value
hash wartość do numeru pozycjinumber_here
lub czy nadal będzie w pozycji, którą obliczyłaby tablica mieszania Pythona dla tej liczby?
Drukdict
pokazuje tylko te elementy, a nie to, które to miejsce. Jednak kiedy to robięhash(4)
, wynik wynosi 4. Zakładam więc, że oznacza to, że liczby całkowite są mieszane do odpowiednich lokalizacji?
Czy ktoś mógłby zweryfikować moje ustalenia lub wyjaśnić mi, jeśli się mylę?