91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

Python怎么計算字符串相似度

小億
142
2024-04-02 19:59:59
欄目: 編程語言

計算字符串相似度可以使用一些算法,常用的算法包括編輯距離算法(Levenshtein Distance)、Jaccard相似度等。

以下是使用編輯距離算法計算字符串相似度的示例代碼:

def levenshtein_distance(s1, s2):
    if len(s1) < len(s2):
        return levenshtein_distance(s2, s1)

    if len(s2) == 0:
        return len(s1)

    previous_row = range(len(s2) + 1)
    for i, c1 in enumerate(s1):
        current_row = [i + 1]
        for j, c2 in enumerate(s2):
            insertions = previous_row[j + 1] + 1
            deletions = current_row[j] + 1
            substitutions = previous_row[j] + (c1 != c2)
            current_row.append(min(insertions, deletions, substitutions))
        previous_row = current_row

    return previous_row[-1]

def similarity(s1, s2):
    max_length = max(len(s1), len(s2))
    distance = levenshtein_distance(s1, s2)
    similarity = 1 - distance / max_length
    return similarity

s1 = "hello"
s2 = "hallo"
similarity_score = similarity(s1, s2)
print(f"The similarity score between '{s1}' and '{s2}' is {similarity_score}")

這段代碼會計算字符串 “hello” 和 “hallo” 之間的相似度,輸出結果為:

The similarity score between 'hello' and 'hallo' is 0.8

你可以根據需要修改代碼來計算其他字符串的相似度。

0
新晃| 宜州市| 延吉市| 临沭县| 民县| 瑞金市| 东至县| 通山县| 闽侯县| 兴城市| 东城区| 元阳县| 普陀区| 龙里县| 平定县| 阜康市| 松江区| 沐川县| 辛集市| 磐安县| 涪陵区| 陆良县| 靖远县| 崇文区| 长兴县| 明水县| 扬州市| 连江县| 延吉市| 温州市| 辽宁省| 宁波市| 彰化县| 怀来县| 同仁县| 昭平县| 商都县| 和硕县| 永川市| 酉阳| 平舆县|