我有下面的代码:
Cars = ["Toyota Supra","Toyota","Nissan","Honda Civic","BMW","Opel Corsa","Toyota Trueno"]
for item in Cars:
if "Toyota" in item:
print(item)
该代码的输出如下所示:
Toyota Supra
Toyota
Toyota Trueno
我想知道是否有办法返回更准确的值。
例如:
对于丰田来说,100%必须是结果
对于丰田Supra,50%必须是结果
对于丰田Trueno,50%必须是结果
有没有什么库或方法可以看到等值的百分比?
3条答案
按热度按时间qzlgjiam1#
比较两个字符串相似程度的方法有很多种,其中之一就是Levenshtein distance,它度量了将一个字符串修改为另一个字符串所需的单字符编辑次数,Python库提供了这种方法:python-Levenshtein.
另一种方法是Ratcliff/Obershelp模式识别,它将匹配字符数除以字符总数,Python中包含了这种方法的实现:
使用后者,您可以执行以下操作:
t40tm48m2#
busg9geu3#
我不确定这是不是你的意思,或者这是不是最好的方法,但是我只是计算了两个字符串匹配的百分比。
代码:
输出: