все Python 3difflibфункция
difflib.get_close_matches()
сравнение последовательностей
Возвращает самые похожие на слово варианты из списка — основа подсказок «вы имели в виду…».
Синтаксис
difflib.get_close_matches(word, possibilities, n=3, cutoff=0.6)
Сравнение чувствительно к регистру: 'APPLE' не найдёт 'apple', поэтому приводите обе стороны к lower(). Порог cutoff=0.6 отсекает всё менее похожее, и при отсутствии кандидатов вернётся пустой список, а не None; n=3 ограничивает число ответов. Результат упорядочен от лучшего совпадения к худшему, а не по исходному списку.
Примеры
import difflib
commands = ['start', 'stop', 'status', 'restart']
print(difflib.get_close_matches('stat', commands)) # → ['start', 'status', 'restart']
print(difflib.get_close_matches('lenght', ['len', 'length', 'list'], n=1)) # → ['length']
import difflib
print(difflib.get_close_matches('APPLE', ['apple'])) # → []
print(difflib.get_close_matches('APPLE'.lower(), ['apple'])) # → ['apple']
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности