比較兩個字串的相似度

2021-06-26 08:52:46 字數 490 閱讀 2408

最近在做演算法作業,需要比較兩個字串的相似度,並且返回相同的元素所佔的百分比。

如果讓我自己做的話,思路是把兩個字串分別轉化為列表,然後在列表中解決掉。

new = [i for i,j in zip(a,b) if i == j]

ratio = 2.0 * len(new) / (len(a) + len(b))

seq = difflib.sequencematcher(none, a, b)

ratio = seq.ratio()

最主要的是,python原生的模組的效率都比較好。其中none的位置是乙個函式,用來去掉自己不想算在內的元素。比如我想把空格排除在外:

seq = difflib.sequencematcher(lambda x:x=" ", a, b)

ratio = seq.ratio()

這樣不用自造輪子了。

求兩個字串的相似度(或距離)

兩個字串距離和相似度的定義 通過修改 增加和刪除操作,使兩個字串變的相等,所做的操作次數為兩個字串的距離,距離加1的倒數為相似度。例如 a abeg b cdeg 通過更改a中的ab cd使兩個字串相等,兩個操作,距離為2。求距離的 如下 int caldistance char a,char b ...

比較兩個字串是否相等

我剛剛才學了組合語言,就寫了乙個很簡單的程式.下面是程式 dseg segment data1 db 9,0,9 dup data2 db 9,0,9 dup cnt db 8 str1 db 13,10,two string is same.str2 db 13,10,two string is ...

sql比較兩個字串 txt

declare stra varchar 100 declare strb varchar 100 declare i int declare issame real select stra abc strb abd i 1,issame 1 while i len stra 1 and i len...