Способ № 1: использование наивного подхода (sum() + zip()
)
Мы можем выполнить эту конкретную задачу, используя наивный подход, используя функции sum и zip, мы можем сформулировать вспомогательную функцию, которая вычисляет сходство обеих строк.
# Демонстрационный код Python3
# сходство строк
# использование наивного метода (sum() + zip()))
# Вспомогательная функция для вычисления сходства
def
аналогичный (str1, str2):
str1
=
str1
+
``
*
(
len
(str2)
-
len
(str1) )
str2
=
str2
+
``
*
(
len
(str1)
-
len
(str2))
return
сумма
(
1
if
i
=
=
j
else
0
for
i, j
in
zip
(str1, str2))
/
float
(
len
(str1))
# Инициализация строк
test_string1
=
` Geeksforgeeks`
test_string2
=
`Geeks4geeks`
# с использованием наивного метода (sum() + zip()))
# построчное сходство
res
=
аналогичный (test_string1, test_string2)
# результат печати
print
(
"Сходство между двумя строками:"
+
str
(res))
Вывод:
Сходство между двумя строками: 0,38461538461538464
Способ № 2: Использование SequenceMatcher.ratio()
Существует встроенный метод, который помогает выполнить эту конкретную задачу, и рекомендуется выполнять эту конкретную задачу, так как она не требует особого подхода, но использует встроенные конструкции для более эффективного выполнения задачи. / p>
Вывод: Сходство между двумя строками: 0,5555555555555556 |