如果我有一个单词'raqd',我将如何使用python进行拼写检查,也就是说,在'spellcheck'中找到单词'rad'作为一个选项?我一直想做的是:def isbettermatch(keysplit, searchword):
i = 0
trues = 0
falses = 0
lensearchwords = len(searchword)
keysplits = copy.deepcopy(keysplit)
searchwords = copy.deepcopy(searchword)
#print keysplit, searchwords
if len(keysplits) == len(searchwords)-1:
i = 0
while i < len(keysplits):
j = 0
while j < lensearchwords:
if keysplits[i] == searchwords[j]:
trues +=1
searchwords.pop(j)
lensearchwords = len(searchwords)
elif keysplits[i] != searchwords[j]:
falses +=1
j +=1
i +=1
if trues >= len(searchwords)-1:
#print "-------------------------------------------------------", keysplits
return True
keysplit是一个类似于['s', 'p', 'o', 'i', 'l']的列表,searchword就是一个列表['r', 'a', 'q', 'd']。你知道吗
如果函数返回True,那么它将打印匹配的关键字。例如,“rad”,表示searchword“raqd”。你知道吗
我需要为searchword查找所有可能的匹配项,只需添加或删除一个字母。你知道吗
例如,“raqd”可以选择“rad”,“poted”可以是“posted”或“potted”。你知道吗
到目前为止,我一直试图用列表来比较每个单词中的字符。我的问题是:为什么我目前的策略不起作用,我该如何改进它?我不知道为什么它给了我不正确的输出:dna ira fra had har nra jar jaq bra era amd
只是我听到的单词的一个小例子