Python difflib:序列相似性高于截止点,但在get_close_matches()上没有结果

Python difflib:序列相似性高于截止点,但在get_close_matches()上没有结果,python,python-3.x,difflib,Python,Python 3.x,Difflib,因此,我使用difflib查找以不同格式记录的相同街道。这里有一对真的让我讨厌:“1-йачаааааааааааааааааааа107 我这样计算序列相似性: s = difflib.SequenceMatcher(None, "1-й Лихачевский переулок", "Переулок Лихачевский 1-й") s.ratio() 给我0.54166666的结果。够好了,嗯?但是好的,get_close_matches()的默认截止点是0.6,所以我这样做: di

因此,我使用difflib查找以不同格式记录的相同街道。这里有一对真的让我讨厌:“1-йачаааааааааааааааааааа107

我这样计算序列相似性:

s = difflib.SequenceMatcher(None, "1-й Лихачевский переулок", "Переулок Лихачевский 1-й")
s.ratio()
给我0.54166666的结果。够好了,嗯?但是好的,get_close_matches()的默认截止点是0.6,所以我这样做:

difflib.get_close_matches('1-й Лихачевский переулок', 'Переулок Лихачевский 1-й', cutoff=0.5)
没有结果!事实上,即使我将截止值设置为0.1,也不会有结果


我错过了什么

get\u close\u matches()的第二个参数是要匹配的字符串序列,而不是单个字符串。因此,例如,传递一个列表:

>>> difflib.get_close_matches('1-й Лихачевский переулок', ['Переулок Лихачевский 1-й'], cutoff=0.5)
['Переулок Лихачевский 1-й']

按原样,您传递了一个字符串,该字符串被视为单个字符的序列。

Welp,这就解释了一切。谢谢不客气:-)如果你的问题得到了回答,你应该“接受”你最喜欢的答案: