【发布时间】:2021-08-01 13:08:47
【问题描述】:
我需要检查python中两个字符串之间的字符串距离(测量最小更改次数-字符删除,添加和转置)是否大于1。
我可以自己实现它,但我敢打赌,现有的软件包可以避免我自己实现它。我找不到任何我可以识别为常用的包。有吗?
【问题讨论】:
标签: python string levenshtein-distance
我需要检查python中两个字符串之间的字符串距离(测量最小更改次数-字符删除,添加和转置)是否大于1。
我可以自己实现它,但我敢打赌,现有的软件包可以避免我自己实现它。我找不到任何我可以识别为常用的包。有吗?
【问题讨论】:
标签: python string levenshtein-distance
您需要的相应算法的实现有很多:以下属于一个有据可查的名为 NLTK 的库。
【讨论】:
是的。 strsimpy 可以使用。在这里查看 - https://pypi.org/project/strsimpy/ 我希望这就是您正在寻找的。p>
【讨论】:
您可以使用一个 NLTK 包,它使用 Levenshtein 编辑距离,这应该是您正在寻找的。p>
例子:
import nltk
s1 = "abc"
s2 = "ebcd"
nltk.edit_distance(s1, s2) # output: 2
参考: https://tedboy.github.io/nlps/generated/generated/nltk.edit_distance.html
【讨论】: