Style fixes to levenshtein and did_you_mean.
This commit is contained in:
parent
3c2576a629
commit
03a7f03bb8
@ -208,18 +208,18 @@ def did_you_mean(setting, defaults):
|
||||
|
||||
|
||||
def levenshtein(a, b, max=3):
|
||||
"Calculates the Levenshtein distance between a and b."
|
||||
"""Calculates the Levenshtein distance between a and b."""
|
||||
n, m = len(a), len(b)
|
||||
if n > m:
|
||||
return levenshtein(b, a)
|
||||
|
||||
current = xrange(n+1)
|
||||
for i in xrange(1,m+1):
|
||||
previous, current = current, [i]+[0]*n
|
||||
for j in xrange(1,n+1):
|
||||
add, delete = previous[j]+1, current[j-1]+1
|
||||
for i in xrange(1, m+1):
|
||||
previous, current = current, [i] + [0] * n
|
||||
for j in xrange(1, n+1):
|
||||
add, delete = previous[j] + 1, current[j-1] + 1
|
||||
change = previous[j-1]
|
||||
if a[j-1] != b[i-1]:
|
||||
change = change + 1
|
||||
change += 1
|
||||
current[j] = min(add, delete, change)
|
||||
return current[n]
|
||||
|
||||
Loading…
Reference in New Issue
Block a user