algoritmo soundex para lograr pitón

Soundex es un algoritmo fonético, calcula la aproximación utilizando la pronunciación Inglés palabra, el valor se compone de cuatro caracteres, el primer carácter del alfabeto Inglés, números de los tres. En la escritura alfabética, pero a veces no se puede leer correctamente deletrear la palabra circunstancias, puede hacer Soundex resultados de coincidencia aproximada similares. Por ejemplo, Knuth y Kant dos cadenas, sus valores son Soundex "K530". Su libro famoso gurú de la informática Donald Knuth "Art of Computer Programming" se describen en detalle en. (Citado en Wikipedia versión china )
Estoy aquí para implementar el algoritmo de una manera relativamente sencilla, sin un buen nivel de entender.

def Soundex(string):
    string = string.lower()
    law = {'aehiouwy' : 0,
           'bfpv': 1,
           'cgjkqsxz': 2,
           'dt': 3,
           'l': 4,
           'mn': 5,
           'r': 6}
    temp_string = string
    for key, value in law.items():
        temp_string = re.sub('[{}]'.format(key), str(value), temp_string)
    temp_string = re.sub('0', '', temp_string)
    result = []
    for char in temp_string:
        if char not in result:
            result.append(char)

    result = string[0] + ''.join(result[:3])
    while len(result) != 4:
        result += '0'
    print(result)
Publicado 12 artículos originales · ganado elogios 3 · Vistas 2055

Supongo que te gusta

Origin blog.csdn.net/weixin_40902563/article/details/105382376
Recomendado
Clasificación