Python | String-Ähnlichkeitsmetriken

| | |

Methode Nr. 1: Verwenden eines naiven Ansatzes (sum () + zip () )
Wir können diese spezielle Aufgabe mit einem naiven Ansatz mithilfe der Funktionen sum erfüllen und zip können wir eine Hilfsfunktion formulieren, die die Ähnlichkeit beider Zeichenketten berechnen kann.


# Python3-Democode
# Ähnlichkeit zwischen Zeilen
# unter Verwendung der naiven Methode (sum () + zip ())


# Hilfsfunktion zur Berechnung der Ähnlichkeit

def ähnlich (str1, str2):

str1 = str1 + `` * ( len (str2) - len (str1) )

str2 = str2 + `` * ( len (str1) - len (str2))

return sum ( 1 if i = = j else 0

für i, j in zip (str1, str2)) / float ( len (str1))


# Strings initialisieren

test_string1 = `Geeksforgeeks`

test_string2 = `Geeks4geeks`


# Verwendung der naiven Methode (sum () + zip ())
# Zeile-zu-Zeile-Ähnlichkeit

res = ähnlich (test_string1, test_string2)


# Ergebnis drucken

print ( "Die Ähnlichkeit zwischen 2 Strings ist:" + str (res))

Ausgabe:

Die Ähnlichkeit zwischen 2 Strings ist: 0,38461538461538464 

Methode Nr. 2: Verwendung von SequenceMatcher.ratio ()
Es gibt eine integrierte Methode, die hilft, diese spezielle Aufgabe zu erfüllen, und es wird empfohlen, diese spezielle Aufgabe zu erledigen, da sie keinen speziellen Ansatz erfordert, aber verwendet integrierte Konstrukte, um die Aufgabe effizienter zu erledigen. / p>

# Python3-Democode
# Zeilenähnlichkeit
# using SequenceMatcher.ratio ()

from difflib import SequenceMatcher


# Hilfsfunktion zur Berechnung der Ähnlichkeit

def ähnlich (str1, str2):

return SequenceMatcher ( None , str1, str2) .ratio ()


# Zeileninitialisierung

test_string1 = `Geeksforgeeks`

test_string2 = `Geeks`


# using SequenceMatcher.ratio ( )
# Ähnlichkeit zwischen Zeilen

res = ähnlich (test_string1, test_string2)


# Ergebnis drucken

print ( "Die Ähnlichkeit zwischen 2 Zeichenketten ist:" + str (res ))

Ausgabe:

Die Ähnlichkeit zwischen 2 Strings ist: 0,5555555555555556 

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method