我正在使用Python fuzzywuzzy
在句子列表中查找匹配项:
def getMatches(needle):
return process.extract(needle, bookSentences, scorer=fuzz.token_sort_ratio, limit=3)
我正在尝试打印出比赛及其周围的句子:
for match in matches:
matchIndex = bookSentences.index(match)
sentenceIndices = range(matchIndex-2,matchIndex+2)
for index in sentenceIndices:
print bookSentences[index],
print '\n\n'
不幸的是,脚本无法在原始列表中找到匹配项:
ValueError:(u'Thus,除了上面提到的双重目的外,本书还针对至少两个小组编写:1。',59)不在列表中
有没有更好的方法可以在原始列表中找到匹配项的索引?
fuzzywuzzy
可以给我一些吗? readme中似乎没有任何内容。如何获得
fuzzywuzzy
返回的匹配项的原始列表中的索引? 最佳答案
我有点傻。 fuzzywuzzy
返回一个包含分数的元组,而不仅仅是比赛。解决方案:
for match in matches:
matchIndex = bookSentences.index(match[0])
sentenceIndices = range(matchIndex-2,matchIndex+2)
for index in sentenceIndices:
print bookSentences[index],
print '\n\n'