我正在使用 FuzzyWuzzy 将字符串与包含两个字符串的元组进行匹配。例如:
from fuzzywuzzy import fuzz, process
query = "cat"
animals = [('cat','owner1'),('dog','owner3'),('lizard','owner45')]
result = process.extractOne(query, animals, scorer=fuzz.ratio)
此代码返回错误,因为与之比较的列表animals
, 不是字符串列表。我只想比较元组中的第一项。我想要返回的是:(('cat','owner1), 100)
因为它是 100% 匹配的。
下面的代码工作,输出('cat', 100)
但我需要元组的另一部分。
from fuzzywuzzy import fuzz, process
query = "cat"
animals = ["cat","dog",'lizard']
result = process.extractOne(query, lex, scorer=fuzz.ratio)
print(result)
有任何想法吗?
编辑:我知道我可以通过列表理解获得第一个元素的列表,但是出于内存和速度的原因,我想在不创建新列表的情况下执行此操作,因为我正在处理大型数据集。