tenstar tenstar - 7 months ago 71
Python Question

Python string similarity with probability

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