Сравнение массивов в процентном соотношении

Подскажите, как с помощью функции сравнить строки из двух массивов и вернуть процентное совпадение между сравниваемыми строками ? Например: Massiv_1 = ['a', 'b', 'c', 'd', 'e'] Massiv_2 = ['r', 'u', 'p'] функция должна выводить результат: строка из Massiv_2, строка из Massiv_1, % схожести между ними


Ответы (1 шт):

Автор решения: Tehnorobot

Я могу предложить такой вариант:

import difflib

def similarity(s1, s2):
  matcher = difflib.SequenceMatcher(None, s1, s2)
  return matcher.ratio()
  
 
string_1 = list('Пример первой строки.')
string_2 = list('Пример второй строки?')

print(f'Процент схожести двух списков составляет: {int(similarity(string_1, string_2) * 100)}%')

Вывод:

Процент схожести двух списков составляет: 80%

С помощью библиотеки difflib можно так же сравнивать строки.

→ Ссылка