Listen sind nicht hashbar. Allerdings bin ich implementing LSH und ich bin Suche nach einer Hash-Funktion, die eine Liste von positiven ganzen Zahlen (in [1, 29.000]) zu k Eimern entsprechen wird. Die Anzahl der Listen ist D, wobei D> k (glaube ich) und D = 40.000, wobei k noch nicht bekannt ist (offen für Vorschläge).Wie Hash-Listen?
Beispiel (D = 4, k = 2):
118 | 27 | 1002 | 225
128 | 85 | 2000 | 8700
512 | 88 | 2500 | 10000
600 | 97 | 6500 | 24000
800 | 99 | 7024 | 25874
Die erste Spalte sollte als Eingabe in die Hash-Funktion und gibt die Nummer eines Eimers gegeben werden.
Was ich verwirrt ist, dass wir eine Reihe Hash, sondern eine Säule, das heißt eine Liste von positiven ganzen Zahlen nicht für eine Funktion suchen.
Irgendwelche Ideen bitte?
ich python verwende, wenn das
Wie wäre es nur das Umwandeln es Typen hashable, wie Tupel? (zB Hash (Tupel ([1, 2, 3]))) – hunminpark
@hunminpark Du meinst etwas wie 'print hash (tuple ([1,2,3,4,5]))'? Das ist, was @lejlot vorgeschlagen hat, aber er löschte seine Antwort. – gsamaras
Nur um zu verdeutlichen, meinst du, du willst eine Liste nehmen und einen einzelnen Bucket-Index erzeugen, oder willst du eine Liste von Länge 'n' nehmen und produzieren 'n' Bucket-Indizes? – mobiusklein