Levenshtein号码表之间的距离

时间:2019-06-14 12:12:03

标签: python levenshtein-distance

有了此代码,我希望两个数字列表之间保持levenshtein距离。

import textdistance
S1=[1,2,3,7,9,15,19,20]
S2=[1,2,3,7,8,14,20]
#convert lists to string 
Str1=‘’.join(str(e) for e in S1)
Str2=‘’.join(str(e) for e in S2)
textdistance.levenshtein.similarity(Str1,Str2)
textdistance.levenshtein.distance(Str1,Str2)

上面的代码相似度为:7 哪个错,正确的是5。 并显示距离值为4,这也是错误的,正确的距离为3。

如何操作代码,以便将14和15这样的数字视为上述函数的一个元素?任何想法..

2 个答案:

答案 0 :(得分:1)

请勿转换为字符串,只需保留代码即可:

S1=[1,2,3,7,9,15,19,20]
S2=[1,2,3,7,8,14,20]

Textdistnace.levenshtein.similarity(S1,S2)
Textdistance.levenshtein.distance(S1,S2)

答案 1 :(得分:-1)

尝试像这样使用水母库:

import jellyfish
S1=[1,2,3,7,9,15,19,20]
S2=[1,2,3,7,8,14,20]
#convert lists to string 
Str1=‘’.join(str(e) for e in S1)
Str2=‘’.join(str(e) for e in S2)

jellyfish.levenshtein_distance(Str1, Str2)

您可以在此处找到有关此信息的更多信息:https://pypi.org/project/jellyfish/