Skip to content

Instantly share code, notes, and snippets.

View badocelot's full-sized avatar

James M. Jensen II badocelot

View GitHub Profile
@badocelot
badocelot / damlevdist.py
Last active September 8, 2023 00:13
Damerau-Levenshtein edit distance calculator in Python. Based on pseudocode from Wikipedia: <https://en.wikipedia.org/wiki/Damerau-Levenshtein_distance>
# Damerau-Levenshtein edit distance implementation
# Based on pseudocode from Wikipedia: https://en.wikipedia.org/wiki/Damerau-Levenshtein_distance
def damerau_levenshtein_distance(a, b):
# "Infinity" -- greater than maximum possible edit distance
# Used to prevent transpositions for first characters
INF = len(a) + len(b)
# Matrix: (M + 2) x (N + 2)
matrix = [[INF for n in xrange(len(b) + 2)]]