字符串相似度对比 --- 用户修改密码时的密码相似度判断(difflib、Levenshtein)

对于两个字符串的相似度判断,有两种方法:
1、使用python自带的difflib;
2、使用第三方库Levenshtein

两种方法返回的结果是相同的,都是0.0 - 1.0 之间的取值。
相似度越大,返回值约接近1.0,相似度越小,返回值约接近0.0

import difflib
def get_equal_rate(str1, str2):
   return difflib.SequenceMatcher(None, str1, str2).quick_ratio()
   
s1 = '000000'
s2 = '123456'
s3 = '00000'
print(get_equal_rate(s1,s2))
print(get_equal_rate(s1,s3))

使用第三方库,首先进行安装 pip3 install python-Levenshtein

import Levenshtein
def get_equal_rate2(s1,s2):
    return Levenshtein.ratio(s1,s2)
s1 = '000000'
s2 = '123456'
s3 = '00000'
print(get_equal_rate2(s1,s2))
print(get_equal_rate2(s1,s3))

你可能感兴趣的:(python)