Python 有没有办法比较两个字符串的相似性?

Python 有没有办法比较两个字符串的相似性?,python,Python,我有一个问题,我需要将某些样本名称相互链接,但问题是我想要匹配的样本名称与我需要从中获得正确值的词典中的关键字略有不同 例如: sample = "foo_foo.bar.12" matching_dict = {"foo_foo-bar-12" : "foo.bar.12"} 我有大约5500个样本,每个样本都有不同类型的排列,因此并非每个样本都像我给出的示例。 理想情况下,我需要一种动态的方法来比较这两个字符串,如果它们最相似的话

我有一个问题,我需要将某些样本名称相互链接,但问题是我想要匹配的样本名称与我需要从中获得正确值的词典中的关键字略有不同

例如:

sample = "foo_foo.bar.12"
matching_dict = {"foo_foo-bar-12" : "foo.bar.12"}
我有大约5500个样本,每个样本都有不同类型的排列,因此并非每个样本都像我给出的示例。 理想情况下,我需要一种动态的方法来比较这两个字符串,如果它们最相似的话,然后从dict中获取值


提前感谢

你可以用。这测量了两条弦彼此之间的相似程度。有一个非常简单的python库,名为
python-levenshtein
。有了它,您可以将您的
示例
与字典中的所有值进行比较,并计算dict中的哪个值具有最低的Levenshtein距离。

您可以使用。这测量了两条弦彼此之间的相似程度。有一个非常简单的python库,名为
python-levenshtein
。有了它,您可以将您的
示例
与字典中的所有值进行比较,并计算出dict中的哪个值具有最低的Levenshtein距离。

正如peter wood所建议的,您可以尝试FuzzyWizzy。 它使用Levenshtein距离在一个简单易用的包中计算序列之间的差异。


正如彼得·伍德所建议的,你可以试试模糊模糊。 它使用Levenshtein距离在一个简单易用的包中计算序列之间的差异。

可能有一些有用的信息给你。可能有一些有用的信息给你。
pip install fuzzywuzzy
from fuzzywuzzy import fuzz
fuzz.ratio("this is a test", "this is a test!")
>>> 97