Как сравнить 2 списка? часть 2

Спасибо, что помогли с 1 частью, но задача усложнилась. У меня есть 2 таблица, я через пандас преобразую их в list, и начинаю сравнение. Так как сравниваю строку из списка со всем списком, то у меня возникае проблема. Мне нужен цикл для сравнения всех строк из 1 таблицы со второй таблицей. Решение частичное - громоздкое и может не совсем правильное.

import difflib

def similarity(s1, s2):
    normalized1 = s1.lower()
    normalized2 = s2.lower()
    matcher = difflib.SequenceMatcher(None, normalized1, normalized2)
    return matcher.ratio()

a = ['мама', 'мыла', 'раму']

# Проблема зарыта здесь
# Изначально у меня таблица из строк

 мама мыла раму
 папа купил приложение
 дядя настроил приложение
a = ['мама', 'мыла', 'раму'] # a = df[0].lower().split(' ')


# А здесь также таблица
  
    человек развивает свой у
    мама любит котят
    мама ремонтирует раму
    папа моет рамы,
    мама установила приложение
    Мамочка помыла все рамы и искупала котят
    Мама помыла раму
    Маме моет мылом раму # b = df1.tolist()
    
b = [
    'человек развивает свой ум',
    'мама любит котят',
    'мама ремонтирует раму',
    'папа моет рамы',
    'мама установила приложение',
    'Мамочка помыла все рамы и искупала котят',
    'Мама помыла раму',
    'Маме моет мылом раму',
]

sa = " ".join(a)

# веса похожести для каждого словосочетания
w = [(s, similarity(sa, s),) for s in b]
print(w)

# сортировка в убывающем порядке по весам
c = sorted(w, key=lambda el: -el[1])
print(c)

# Топ 3 с коэффициентами
print(c[:3])

# Топ 3
print(a, [s[0] for s in c[:1]])

#Результат - ['мама', 'мыла', 'раму'] ['Мама помыла раму']

# Нужен цикл чтобы по всем 3 строкам пробежался, и сравнил со всем списком

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