У меня небольшая проблема, я пытаюсь сравнить 2 списка со словами в нем, чтобы установить процент сходства, но вот в чем дело, если у меня в каждом списке два раза по одному слову, я получаю ложный процент.
Сначала я сделал этот маленький скрипт:
data1 = ['test', 'super', 'class', 'test', 'boom']
data2 = ['test', 'super', 'class', 'test', 'boom']
res = 0
nb = (len(data1) + len(data2)) / 2
if data1 and data2 and nb != 0:
for id1, item1 in enumerate(data1):
for id2, item2 in enumerate(data2):
if item1 == item2:
res += 1 - abs(id1 - id2) / nb
print(res / nb * 100)
Проблема в том, что если у меня есть 2 раза одно и то же слово в списках, процент будет больше, чем 100%.Чтобы противостоять этому, я добавил 'break' сразу после строки 'res + = 1 - abs (id1 - id2) / nb', но процент все еще искажен.
Надеюсь, вы понимаете мойпроблема, спасибо тебе за помощь!