Metoda nr 1: Używając naiwnego podejścia (sum () + zip ()
)
Możemy wykonać to konkretne zadanie przy użyciu naiwnego podejścia przy użyciu funkcji sum i zip, możemy sformułować funkcję narzędziową, która może obliczyć podobieństwo obu ciągów.
# Kod demonstracyjny Python3
# podobieństwo między wierszami
# przy użyciu metody naiwnej (sum() + zip())
# Funkcja narzędziowa do obliczania podobieństwa
def
podobne (str1, str2):
str1
=
str1
+
``
*
(
len
(str2)
-
len
(str1) )
str2
=
str2
+
``
*
(
dł kod>
(str1)
-
len
(str2))
return
sum
(
1
if
i
=
=
j
else
0
for
i, j
in
zip
(str1, str2))
/
float
(
len
(str1))
# Inicjowanie ciągów
test_string1
=
` Geeksforgeeks`
test_string2
=
`Geeks4geeks`
# przy użyciu metody naiwnej (sum () + zip ())
# podobieństwo między wierszami
res
=
podobne (test_string1, test_string2)
# wynik wydruku
print
(
"Podobieństwo między dwoma ciągami znaków to:"
+
str
(res))
Dane wyjściowe:
Podobieństwo między 2 ciągami znaków to: 0.38461538461538464
Metoda nr 2: Używanie SequenceMatcher.ratio ()
Istnieje wbudowana metoda, która pomaga w wykonaniu tego konkretnego zadania i zaleca się wykonanie tego konkretnego zadania, ponieważ nie wymaga ono specjalnego podejścia, ale używa wbudowanych konstrukcji, aby wydajniej wykonać zadanie. / p>
Dane wyjściowe: Podobieństwo między 2 ciągami znaków to: 0.555555555555556 ShopLatest questions Wiki |