python:比较两个字符串

l--*_*''' 10 python string

我想知道是否有一个库会告诉我两个字符串有多相似

我不是在寻找具体的东西,但在这种情况下:

a = 'alex is a buff dude'
b = 'a;exx is a buff dud'
Run Code Online (Sandbox Code Playgroud)

我们可以说b并且a大约有90%相似.

有没有可以做到这一点的图书馆?

kil*_*own 18

import difflib

>>> a = 'alex is a buff dude'
>>> b = 'a;exx is a buff dud'
>>> difflib.SequenceMatcher(None, a, b).ratio()

0.89473684210526316
Run Code Online (Sandbox Code Playgroud)


vir*_*tor 6

寻找用于比较字符串的Levenshtein算法.这是通过google发现的随机实现:http://hetland.org/coding/python/levenshtein.py


Rad*_*ski 6

http://en.wikipedia.org/wiki/Levenshtein_distance

pypi上有一些库,但请注意这是昂贵的,特别是对于较长的字符串.

您可能还想查看python的difflib:http://docs.python.org/library/difflib.html