Вы можете просто использовать difflib.Эта функция, которую я получил из ответа некоторое время назад, хорошо мне послужила:
from difflib import SequenceMatcher
def similar(a, b):
return SequenceMatcher(None, a, b).ratio()
print (similar('tackoverflow','stackoverflow'))
print (similar('h0t','hot'))
0.96
0.666666666667
Вы можете легко добавить функцию или обернуть ее в другую функцию, чтобы учесть различные степени сходства, например, передав третьюаргумент:
from difflib import SequenceMatcher
def similar(a, b, c):
sim = SequenceMatcher(None, a, b).ratio()
if sim > c:
return sim
print (similar('tackoverflow','stackoverflow', 0.9))
print (similar('h0t','hot', 0.9))
0.96
None