Python | Métricas de similaridade de strings

| | |

Método nº 1: usando uma abordagem ingênua (sum () + zip () )
Podemos realizar essa tarefa específica usando uma abordagem ingênua usando funções sum e zip, podemos formular uma função utilitária que pode calcular a similaridade de ambas as strings.


# Python3 demo code
# semelhança entre linhas
# usando o método ingênuo (sum () + zip ())


# Função de utilidade para calcular similaridade

def similar (str1, str2):

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

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

return sum ( 1 if i = = j else 0

para i, j em zip (str1, str2)) / float ( len (str1))


# Inicializando strings

test_string1 = ` Geeksforgeeks`

test_string2 = `Geeks4geeks`


# usando o método ingênuo (sum () + zip ())
# similaridade linha a linha

res = similar (test_string1, test_string2)


# resultado de impressão

print ( "A semelhança entre 2 strings é:" + str (res))

Saída:

A semelhança entre 2 strings é: 0,38461538461538464 

Método nº 2: usando SequenceMatcher.ratio ()
Existe um método interno que ajuda a realizar essa tarefa específica, e é recomendável fazer essa tarefa específica, pois não requer uma abordagem especial, mas usa construções internas para realizar a tarefa com mais eficiência. / p>

# código de demonstração Python3
# similaridade linha a linha
# usando SequenceMatcher.ratio ()

from difflib importação SequenceMatcher


# Função de utilidade para calcular similaridade

def similar (str1, str2):

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


# Inicialização de linha

test_string1 = `Geeksforgeeks`

test_string2 = `Geeks`


# usando SequenceMatcher.ratio ( )
# similaridade entre linhas

res = similar (test_string1, test_string2)


# imprime resultado

print ( "A semelhança entre 2 strings é:" + str (res ))

Saída:

A semelhança entre 2 strings é: 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