HashTable是空的

时间:2017-05-01 21:56:53

标签: python hashtable

我正在尝试使用链接实现哈希表。 (m = 191) 但是当我测试我的代码时,表格显示为空!

table = [[] for x in range(191)]

def hash_function (k):
  return k % 191

def insert (table,key):
  table[hash_function(key)].append((hash_function(key),key))

with open("test.txt", "r") as file:
   for seq in file:
      seq_int= [ord(c) for c in seq]
      int = seq_int[0] * 128 ** 3 \
          + seq_int[1] * 128 ** 2 \
          + seq_int[2] * 128 + seq_int[3]
      insert(table,int)

print table

我正在从包含1000个单词(每行一个)长度为4的文本文件中读取字符串。

1 个答案:

答案 0 :(得分:0)

这可能不是您正在寻找的内容,但您应该考虑将来使用defaultdict(例如,干净地构建字典,其中值是您正在构建的列表以及其中的位置list应该初始化为第一个key-access上的空列表。

https://docs.python.org/2/library/collections.html#collections.defaultdict