Chr*_*ong 3 python performance fuzzy-comparison difflib levenshtein-distance
我目前使用的方法get_close_matches从法difflib迭代通过15000个字符串列表以获得对大约15000串的另一个列表最接近的匹配:
a=['blah','pie','apple'...]
b=['jimbo','zomg','pie'...]
for value in a:
difflib.get_close_matches(value,b,n=1,cutoff=.85)
Run Code Online (Sandbox Code Playgroud)
每个值需要 0.58 秒,这意味着完成循环需要 8,714 秒或 145 分钟。是否有其他库/方法可能更快或提高此方法的速度?我已经尝试将两个数组转换为小写,但它只会导致速度略有增加。
尝试这个
https://code.google.com/p/pylevenshtein/
Levenshtein Python C 扩展模块包含用于快速计算的函数 - Levenshtein(编辑)距离和编辑操作 - 字符串相似度 - 近似中值字符串,以及一般字符串平均 - 字符串序列和集合相似度 它支持普通字符串和 Unicode 字符串。
| 归档时间: |
|
| 查看次数: |
5667 次 |
| 最近记录: |