首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Damerau-Levenshtein距离代码抛出错误?

Damerau-Levenshtein距离代码抛出错误?
EN

Stack Overflow用户
提问于 2013-10-26 07:08:39
回答 2查看 927关注 0票数 0

由于某些原因,当我尝试实现以下代码(我使用Sublime Text 2)时,它在第18行给出了错误"Invalid Syntax“。我不确定这是为什么,我找到了代码here,它显然应该可以工作,所以我不知道为什么它不能工作。有什么提示吗?代码如下:

代码语言:javascript
复制
def damerau_levenshtein_distance(word1, word2):
    distances = {}
    len_word1 = len(word1)
    len_word2 = len(word2)
    for i in xrange(-1, (len_word1 + 1)):
        distances[(i,-1)] = i + 1
    for j in xrange(-1, (len_word2 + 1)):
        distances[(-1,j)] = j + 1

    for i in xrange(len_word1):
        if word1[i] == word2[j]:
            distance_total = 0
        else:
            distance_total = 1
        distances[(i, j)] = min(
            distances[(i-1,j)] + 1, # deletion
            distances[(i,j-1)] + 1 # insertion
            distances[(i-1,j-1)] + distance_total #substitution
            )
        if i and j and word1[i] == word2[j-1] and word1[i-1] == word2[j]:
            distances[(i,j)] = min(distances[(i,j)], distances[i-2,j-2] + distance_total) # transposition

    return distances[len_word1-1,len_word2-1]    
EN

回答 2

Stack Overflow用户

发布于 2013-10-26 07:10:39

有一个错误应该是:

代码语言:javascript
复制
,#insertion
票数 3
EN

Stack Overflow用户

发布于 2013-10-26 07:31:40

看起来你已经修复了这个问题,但是如果你不想自己实现所有这些,你可以使用在pypi:https://pypi.python.org/pypi/jellyfish中找到的jellyfish包。在过去,我用它取得了巨大的成功。

它包含几个距离函数,包括Damerau-Levenshtein距离。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19600748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档