【发布时间】:2017-06-26 03:33:49
【问题描述】:
我的哈希码只返回单词的整个标题。 我想让它只使用关键字来显示结果 至少 2 个单词(向前)然后显示结果(获取函数)。
我的哈希码
class hashin:
def __init__(self):
self.size = 217 # size of hash table
self.map = [None] * self.size
def _get_hash(self, key):
hash = 0
for char in str(key):
hash += ord(char)
return hash % self.size
#returns the ASCII value of char in str(key)
def add(self, key, value): # add item to list
key_hash = self._get_hash(key)
key_value = [key, value]
if self.map[key_hash] is None:
self.map[key_hash] = list([key_value])
return True
else:
for pair in self.map[key_hash]:
if pair[0] == key:
pair[1] = value
return True
self.map[key_hash].append(key_value)
return True
def get(self, key): # search for item
key_hash = self._get_hash(key)
if self.map[key_hash] is not None:
for pair in self.map[key_hash]: # find pair of words
if pair[0] == key: # if pair is equals to the whole title of the word
return pair[0] + " - " + pair[1]
return "Error no results for %s \nEnter the correct word." % (key)
样本输出:
当整个标题被输入时
输入关键字时(即使输入关键字,我也需要显示结果)
我需要的是: 输出: 骗子-Kygos 以及其他名字中带有chea的词
【问题讨论】:
-
你可以解释得更好,你可以展示输入和输出的例子来更好地理解你。
-
除此之外与 pyqt 有关系,因为示例不需要 pyqt 的功能,因为它显示了您的代码。
-
对不起,我会尝试再次修改我的问题,然后发布有关它的图片
-
key的一些示例值是什么? -
@ChickenFeet key = 任意单词,key_hash = ASCII 数值,key_value = [word1,word2]
标签: python python-3.x hash trie prefix-tree