Skip to main content
 首页 » 编程设计

Python:如何找到使levenshtein距离的字符的位置

2025年05月04日12zhoujg

我正在计算一些字符串的编辑距离。只有距离为 1 的那个我想进一步分析。最重要的是,我感兴趣的是角色的位置。例如;

('rodange', 'redange', 1)  # position 2 

我可以想出几种方法,但它们似乎不是很方便(比如遍历所有字符并一个一个地比较它们)。已经有东西了吗?

请您参考如下方法:

我认为没有比您已经想到的更好的解决方案了。添加代码以返回您正在使用的 levenshtein 算法的第一个更改的索引。那应该是在正确位置的单行,以及修改后的 return 语句。

或者像你说的那样遍历它,也不太难:

idx = next(i for (i, (a, b)) in enumerate(zip(w1, w2)) if a != b) 

如果你喜欢它更短:

from operator import eq 
idx = map(eq, w1, w2).index(False)