Python中是否有内置函数,其功能类似于Ngram.Compare('text','text2')
字符串比较。我不想安装N-gram模块。我尝试了所有公共和私有函数,通过做dir('text')
内置的Python函数用于字符串比较,如N-gram
我想得到一个比较两个字符串比较匹配。
Python中是否有内置函数,其功能类似于Ngram.Compare('text','text2')
字符串比较。我不想安装N-gram模块。我尝试了所有公共和私有函数,通过做dir('text')
内置的Python函数用于字符串比较,如N-gram
我想得到一个比较两个字符串比较匹配。
标准库difflib。
你也可以做一个Levenshtein距离:
def lev(seq1, seq2):
oneago = None
thisrow = range(1, len(seq2) + 1) + [0]
for x in xrange(len(seq1)):
twoago, oneago, thisrow = oneago, thisrow, [0] * len(seq2) + [x + 1]
for y in xrange(len(seq2)):
delcost = oneago[y] + 1
addcost = thisrow[y - 1] + 1
subcost = oneago[y - 1] + (seq1[x] != seq2[y])
thisrow[y] = min(delcost, addcost, subcost)
return thisrow[len(seq2) - 1]
def di(seq1,seq2):
return float(lev(seq1,seq2))/min(len(seq1),len(seq2))
print lev('spa','spam')
print di('spa','spam')
的
感谢标准lib ... – 2013-02-09 09:18:52
可能重复的[快n-gram中的计算](http://stackoverflow.com/questions/7591258/fast-n-gram-calculation) – 2013-02-09 06:39:22
@thewolf对不起,我不想要Ngrams。我需要两个字符串的百分比匹配 – 2013-02-09 06:42:30
“百分比”匹配是什么意思?你能提供一些样本输入/输出吗? – Volatility 2013-02-09 06:43:30