Levenshtein Distance
import numpy as np
def levenshtein_distance(s, t):
if s == "":
return len(t)
if t == "":
return len(s)
if s[-1] == t[-1]:
cost = 0
else:
cost = 1
res = min([levenshtein_distance(s[:-1], t)+1,
levenshtein_distance(s, t[:-1])+1,
levenshtein_distance(s[:-1], t[:-1]) + cost])
return res
levenshtein_distance("Python", "Pithon")
1
levenshtein_distance("Canada", "Kanata")
2
levenshtein_distance("Australia", "Boston")
7
levenshtein_distance("Peter", "Beat It")
5