Style fixes to levenshtein and did_you_mean.

This commit is contained in:
Thomas Adamcik 2012-09-01 12:11:09 +02:00
parent 3c2576a629
commit 03a7f03bb8

View File

@ -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]