I'm writing a simple hash table with a set of 10 bucket lists. The index is calculated using the built-in hash()
and then modulo the table size. However, when I try to append the object to the bucket list at that index, it gets appended to every bucket list instead.
I've tried defining add_HT different ways but i keep getting the same result. What am I doing wrong?
size = 10
HT = [ [] ] * size
def add_HT(data):
index = hash(data) % size
HT[index].append(data)
print HT
[[], [], [], [], [], [], [], [], [], []]
add_HT('hello')
[['hello'], ['hello'], ['hello'], ['hello'], ['hello'], ['hello'], ['hello'], ['hello'], ['hello'], ['hello']]
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…