Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

python fuzzywuzzy

作者:幸福的起点   发布日期:2025-07-23   浏览:29

from fuzzywuzzy import fuzz
from fuzzywuzzy import process

# 示例字符串
str1 = "fuzzy wuzzy was a bear"
str2 = "wuzzy fuzzy was a bear"

# 计算两个字符串的相似度
ratio = fuzz.ratio(str1, str2)
print(f"Ratio: {ratio}")

# 部分比率匹配(适用于部分匹配)
partial_ratio = fuzz.partial_ratio(str1, str2)
print(f"Partial Ratio: {partial_ratio}")

# 令牌排序比率匹配(适用于单词顺序不同的情况)
token_sort_ratio = fuzz.token_sort_ratio(str1, str2)
print(f"Token Sort Ratio: {token_sort_ratio}")

# 令牌集比率匹配(适用于单词重复或缺失的情况)
token_set_ratio = fuzz.token_set_ratio(str1, str2)
print(f"Token Set Ratio: {token_set_ratio}")

# 从列表中选择最接近的匹配项
choices = ["fuzzy was a bear", "fuzzy wuzzy was a bear", "wuzzy fuzzy was a bear"]
best_match = process.extractOne("fuzzy wuzzy was a bear", choices)
print(f"Best Match: {best_match}")

解释说明:

  1. fuzz.ratio(str1, str2): 计算两个字符串的整体相似度,返回一个0到100之间的整数,100表示完全相同。
  2. fuzz.partial_ratio(str1, str2): 计算两个字符串的部分匹配相似度,适用于部分字符串匹配的情况。
  3. fuzz.token_sort_ratio(str1, str2): 先对字符串中的单词进行排序,再计算相似度,适用于单词顺序不同的情况。
  4. fuzz.token_set_ratio(str1, str2): 忽略重复单词,计算相似度,适用于单词重复或缺失的情况。
  5. process.extractOne(query, choices): 从给定的选择列表中找到与查询字符串最接近的匹配项,并返回匹配项及其相似度分数。

希望这段代码和解释对你有帮助!

上一篇:python 获取文件路径

下一篇:python转字符串

大家都在看

python时间格式

python开发windows应用程序

python ord和chr

python中的yield

python自定义异常

python判断路径是否存在

python list.pop

python的for i in range

npm config set python

python代码简单

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站