Python Glossary English

все 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Сообщить о неточности