Computer >> Máy Tính >  >> Lập trình >> Python

Trình trợ giúp Python cho vùng đồng bằng máy tính

Để tính toán các delta, chúng ta nên sử dụng mô-đun difflib của python. Mô-đun này có các lớp và chức năng khác nhau để so sánh các trình tự. Nó có thể so sánh các tệp, tệp HTML, v.v.

Để sử dụng mô-đun này, chúng tôi cần nhập mô-đun difflib trong mã python.

import difflib

Một số lớp và chức năng của mô-đun difflib.

Lớp (difflib.SequenceMatcher) -

Lớp này được sử dụng để so sánh hai chuỗi bất kỳ kiểu nào. Nó có các phương pháp khác nhau. Một số phương pháp này giống như thế này -

  • set_seqs (a, b) - Đặt các tệp trình tự sẽ được so sánh. Nó tính toán và lưu trữ thông tin chi tiết về tệp thứ hai. Vì vậy, để khớp nhiều tệp, chúng ta nên đặt trình tự đầu tiên lặp lại.

  • set_seq1 (a) - Đặt chuỗi đầu tiên sẽ được so sánh.

  • set_seq2 (2) - Đặt chuỗi thứ hai sẽ được so sánh.

  • find_longest_match (alo, ahi, blo, bhi) - Tìm khối phù hợp nào dài nhất trong dãy alo đến ahi cho dãy đầu tiên và blo đến bhi cho dãy thứ hai.

  • get_matching_blocks () - Tìm danh sách các chuỗi phù hợp theo thứ tự giảm dần.

  • tỷ lệ () - Tìm tỷ lệ các chuỗi tương tự như một giá trị thực.

Mã mẫu

import difflib
myStr1 = 'Python Programming'
myStr2 = 'Python Standard Library'
seq_match = difflib.SequenceMatcher(lambda x: x==' ', myStr1, myStr2)
print("The ratio of the sequence matching is: " + str(round(seq_match.ratio(), 3)))
for match_block in seq_match.get_matching_blocks():
   print(match_block)

Đầu ra

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)