Python 計算增量的輔助函式
Python 的 `difflib` 模組用於計算差異。它用於比較檔案,並可以以多種格式(包括 HTML、上下文和統一差異)生成有關檔案差異的資訊。
在使用之前,我們需要首先匯入 `difflib` 模組:
import difflib
類 (difflib.SequenceMatcher)
此類用於比較任何型別的兩個序列。它具有不同的方法。一些方法:
set_seqs(a, b) - 設定將要比較的序列檔案。它計算並快取有關第二個檔案的詳細資訊。因此,對於匹配多個檔案,我們應該重複設定第一個序列。
set_seq1(a) - 設定將要比較的第一個序列。
set_seq2(2) - 設定將要比較的第二個序列。
find_longest_match(alo, ahi, blo, bhi) - 查詢在第一個序列的 alo 到 ahi 範圍內和第二個序列的 blo 到 bhi 範圍內哪個匹配塊最長。
get_matching_blocks() - 查詢按降序排列的匹配序列列表。
ratio() - 查詢序列相似度的比率,以浮點值表示。
返回序列相似度的度量
要返回序列相似度的度量,請使用 `difflib` 模組的 `ratio()` 方法:
示例
import difflib s = difflib.SequenceMatcher(None, "abcd", "bcde") print("Ratio = ",s.ratio())
輸出
Ratio = 0.75
返回比率的上限
要返回比率的上限,請執行以下程式碼:
示例
import difflib s = difflib.SequenceMatcher(None, "abcd", "bcde") print("Ratio = ",s.ratio()) print("Quick Ratio = ",s.quick_ratio()) print("Real Quick Ratio = ",s.real_quick_ratio())
輸出
Ratio = 0.75 Quick Ratio = 0.75 Real Quick Ratio = 1.0
獲取序列匹配的比率
要獲取序列匹配的比率,以下是程式碼:
示例
import difflib myStr1 = 'Python Programming' myStr2 = 'Python Standard Library' # The SequenceMatcher compares sequences seq_match = difflib.SequenceMatcher(lambda x: x==' ', myStr1, myStr2) print("Ratio of the sequence matching = " + str(round(seq_match.ratio(), 3))) for match_block in seq_match.get_matching_blocks(): print(match_block)
輸出
The ratio of the sequence matching is: 0.488 Match(a=0, b=0, size=7) Match(a=8, b=13, size=1) Match(a=11, b=19, size=2) Match(a=18, b=23, size=0)
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP