微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从给定的列表中获取匹配的文本,该列表被赋予模糊的模糊partial_ratio?

如何解决如何从给定的列表中获取匹配的文本,该列表被赋予模糊的模糊partial_ratio?

我有一个字符串和一个字符串列表。 我只想知道列表中的哪些文本与给定的字符串部分匹配100%。

from fuzzywuzzy import fuzz 

s1 = "Hello"
s_list= ["Hai all","Hello world","Thank you"]

fuzz.partial_ratio(s1,s_list)

这是100。因为“ Hello”与“ Hello world”部分匹配 但是如何获取“ Hello World”作为输出

有人可以帮我吗? 预先感谢。

解决方法

您不需要模糊不清即可进行精确匹配。 Fuzzywuzzy用于模糊匹配。 Fuzzywuzzy不能精确地为匹配生成索引,因为通常,没有“匹配”,只有距离。

您需要的只是Python。

s1 = "Hello"
s_list= ["Hai all","Hello world","Thank you"]

for item in s_list:
    if s1 in item:
        print("item: " + item + "\ns1" + s1)
,

您可以使用其他功能

from fuzzywuzzy import process

s1 = "Hello"
s_list= ["Hai all","Thank you"]

[s for s,m in process.extract(s1,s_list) if m == 100]

有关更多信息,请检查help(process.extract)。 如果您严格要求100%部分匹配,那么尼尔的答案会更好。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。