tenstar tenstar - 1 month ago 19
Python Question

Find the similarity percent between two strings

How do I get the probability of a string being similar to another string in Python?

I want to get a decimal value like:

0.9 #means 90%


etc.

Preferably with standard Python and library.

e.g.

similar("Apple","Appel") #would have a high prob.

similar("Apple","Mango") #would have a lower prob.

Answer

There is a built in.

from difflib import SequenceMatcher

def similar(a, b):
    return SequenceMatcher(None, a, b).ratio()

Using it:

>>> similar("Apple","Appel")
0.8
>>> similar("Apple","Mango")
0.0