JAVA中字符串对比的函数compare,在日常中可以根据字符串对比输入结果
比如:
public static float getSimilarityRatio(String str, String target) {
int max = Math.max(str.length(), target.length());
return 1 - (float) compare(str, target) / max;
}
这里面的compare是继承了compareTo的方法,所以此次是根据上面的java代码来用python实现。
python实现如下:
def CompareStr(stra, strb):
def compareto(s1, s2):
lena, lenb = len(s1), len(s2)
minlen = min(lena, lenb)
k = 0
while k < minlen:
if s1[k] != s2[k]:
return ord(s1[i]) - ord(s2[i])
k +=1
return lena - lenb
diff = compareto(stra, strb)
return round(1 - (diff / max(len(stra), len(strb))), 4)
这么看来,python实现起来比java复杂一些!