Как я могу использовать расстояние Хэмминга для исправления ошибок строки (символа)? - PullRequest
0 голосов
/ 17 мая 2019

Как я могу использовать расстояние Хемминга для исправления ошибок строки (символов)? Я прочитал много постов о расстоянии Хэмминга, где говорится, что он может исправлять ошибки, и я видел много примеров с точки зрения исправления двоичных чисел, но ни один не показывает, как использовать его с коррекцией символов.

У меня есть список правильных данных и еще один список для поврежденных данных. Я хочу использовать расстояние Хемминга для сравнения поврежденных и правильных данных, чтобы попытаться исправить (исправить) поврежденные данные, например:

Если у меня есть поврежденная строка UE*GS5, он должен сравнить ее с правильным списком данных, который имеет правильный формат UESGS5, а затем исправить поврежденную строку и добавить ее в правильный список данных. Единственный код, который я нашел для расстояния Хэмминга, это

def hamming_distance(s1, s2):
    return sum(ch1 != ch2 for ch1,ch2 in zip(s1,s2))

Кроме того, я хотел бы знать, может ли difflib помочь в исправлении ошибок?

Большое спасибо

...