Python | Metriche di somiglianza delle stringhe

| | |

Metodo n. 1: utilizzo di un approccio ingenuo (sum() + zip() )
Possiamo eseguire questo compito particolare utilizzando un approccio ingenuo usando le funzioni sum e zip, possiamo formulare una funzione di utilità in grado di calcolare la somiglianza di entrambe le stringhe.


# Python3 demo code
# somiglianza tra le righe
# usando il metodo ingenuo (sum() + zip())


# Funzione di utilità per il calcolo della somiglianza

def simile (str1, str2):

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

str2 = str2 + < classe codice = "stringa"> `` * ( len (str1) - len (str2))

return sum ( 1 if i = = j else 0

for i, j in zip (str1, str2)) / float ( len (str1))


# Inizializzazione delle stringhe

test_string1 = ` Geeksforgeeks`

test_string2 = `Geeks4geeks`


# utilizzando il metodo ingenuo (somma () + zip ())
# somiglianza da riga a riga

res = simili (test_string1, test_string2)


# stampa risultato

print ( "La somiglianza tra 2 stringhe è:" + str (res))

Output:

La somiglianza tra 2 stringhe è: 0.38461538461538464 

Metodo n. 2: utilizzo di SequenceMatcher.ratio ()
Esiste un metodo integrato che aiuta a svolgere questo compito specifico e si consiglia di eseguire questo compito specifico poiché non richiede un approccio speciale, ma utilizza costrutti incorporati per eseguire l`attività in modo più efficiente. / p>

# codice demo Python3
# somiglianza da riga a riga
# using SequenceMatcher.ratio ()

from difflib import SequenceMatcher


# Funzione di utilità per il calcolo della somiglianza

def simile (str1, str2):

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


# Inizializzazione riga

test_string1 = `Geeksforgeeks`

test_string2 = `Geek`


# using SequenceMatcher.ratio ( )
# somiglianza tra le righe

res = simili (string_test1, stringa_test2)


# stampa risultato

print ( "La somiglianza tra 2 stringhe è:" + str (res ))

Output:

La somiglianza tra 2 stringhe è: 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