我想要一個代碼返回兩個字符串中所有相似序列的和。我寫了下面的代碼,但它只返回其中的一個Python在字符串中找到類似的序列
from difflib import SequenceMatcher
a='Apple Banana'
b='Banana Apple'
def similar(a,b):
c = SequenceMatcher(None,a.lower(),b.lower()).get_matching_blocks()
return sum([c[i].size if c[i].size>1 else 0 for i in range(0,len(c)) ])
print similar(a,b)
和輸出將是
6
我希望它是:11
試圖設置一個'=「蘋果香蕉Orange''&'B =」橙色香蕉蘋果',那麼結果'13'? – thewaywewere
我已經更新了我的答案以處理更一般的情況,包括您提到的情況。感謝您指出! – Antimony
如果你移動 sizes = [i.size for i in c] i = sizes.index(max(sizes)) inside while while循環效果更好 –