Полагаю, вы установили как fuzzywuzzy, так и python-Levenshtein. Установка второго пакета не удалась, и поэтому я получил сообщение:
warnings.warn («Использование медленного чистого Python SequenceMatcher. Установите python-Levenshtein, чтобы удалить это предупреждение»)
Вы можете использовать itertools.product для создания декартового произведения:
from itertools import product
from fuzzywuzzy import fuzz
def get_fuzz_score(str1, str2):
partial_ratio = fuzz.partial_ratio(str1, str2)
return partial_ratio
a = ['Express Scripts', 'Catamaran Corp', 'Banmedica SA (96.7892%)', 'WebMD', 'ODC', 'Caremerge LLC (Stake%)']
b = ['Doctor on Demand', 'Catamaran', 'Express Scripts Holding Corp', 'ODC, Inc.', 'WebMD Health Services', 'Banmedica']
for first, second in product(a, b):
if get_fuzz_score(first, second) > 80:
# process
Если ваша функция get_fuzz_score не растет, вы можете сделать ее устаревшей:
from itertools import product
from fuzzywuzzy import fuzz #
a = ['Express Scripts', 'Catamaran Corp', 'Banmedica SA (96.7892%)', 'WebMD', 'ODC', 'Caremerge LLC (Stake%)']
b = ['Doctor on Demand', 'Catamaran', 'Express Scripts Holding Corp', 'ODC, Inc.', 'WebMD Health Services', 'Banmedica']
for first, second in product(a, b):
if fuzz.partial_ratio(first, second) > 80:
pass # process