如何从给定的模糊 wuzzy partial_ratio() 的给定列表中获取匹配的文本?
How to get matched text from a given list which is given to fuzzy wuzzy 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 用于模糊匹配。 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", "Hello world", "Thank you"]
[s for s, m in process.extract(s1, s_list) if m == 100]
有关更多信息,请查看 help(process.extract)
。
如果您严格要求 100% 部分匹配,Neil 的答案更好。
我有一个字符串和一个字符串列表。 我只想知道列表中的哪些文本与给定字符串 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 用于模糊匹配。 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", "Hello world", "Thank you"]
[s for s, m in process.extract(s1, s_list) if m == 100]
有关更多信息,请查看 help(process.extract)
。
如果您严格要求 100% 部分匹配,Neil 的答案更好。