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

Thư viện Python FuzzyWuzzy

Trong hướng dẫn này, chúng ta sẽ tìm hiểu về FuzzyWuzzy Thư viện Python. FuzzyBuzzy thư viện được phát triển để so sánh với chuỗi. Chúng tôi có các mô-đun khác như regex , difflib để so sánh các chuỗi. Nhưng, FuzzyBuzzy là duy nhất theo cách của nó. Các phương thức từ thư viện này trả về điểm trên 100 của số lượng các chuỗi được so khớp thay vì true, false hoặc string .

Để làm việc với FuzzyWuzzy thư viện, chúng tôi phải cài đặt mờwuzzy python- Levenshtein . Chạy các lệnh sau để cài đặt chúng.

 pip cài đặt mờwuzzy 

Nếu bạn chạy lệnh trên, bạn sẽ nhận được thông báo thành công sau đây.

 Đang thu thập mờwuzzyDownloading https://files.pythonhosted.org/packages/d8/f1/5a267addb30ab7eaa1beab2b9323073815da4551076554ecc890a3595ec9/fuzzywuzzy-0.17.0-py2.py3-none-any.zzy đã thu thập các gói:0. trước> 

Chạy lệnh sau trong Linux để cài đặt python-Levenshtein .

 pip cài đặt python-Levenshtein 

Chạy lệnh sau trong windows.

 easy_install python-Levenshtein 

lông tơ

Bây giờ, chúng ta sẽ tìm hiểu về lông tơ mô-đun. lông tơ được sử dụng để so sánh hai chuỗi tại một thời điểm. Nó có các phương thức khác nhau trả về điểm 100. Hãy xem một số phương pháp của mô-đun fuzz.

fuzz.ratio ()

Hãy xem phương pháp đầu tiên của fuzz mô-đun tỷ lệ . Nó được sử dụng để so sánh hai chuỗi trả về điểm trên 100. Hãy xem các ví dụ bên dưới để hiểu rõ hơn.

Ví dụ

 ## nhập mô-đun từ thư viện mờwuzzy từ nhập mờwuzzy fuzz ## 100 cho cùng một stringsprint (f "Chuỗi bằng nhau:- {fuzz.ratio ('tutorialspoint', 'tutorialspoint')}") ## điểm ngẫu nhiên cho một chút các thay đổi trong stringsprint (f "Các chuỗi Thay đổi Nhẹ:- {fuzz.ratio ('tutorialspoint', 'TutorialsPoint')}") print (f "Các Chuỗi Thay đổi Nhẹ:- {fuzz.ratio ('tutorialspoint', 'Tutorials Point' )} ") ## hoàn thành stringsprint khác (f" Các chuỗi khác nhau:- {fuzz.ratio ('abcd', 'efgh')} ") 

Đầu ra

 Điểm tối đa:- 100 Chuỗi thay đổi nhẹ:- 86 Chuỗi thay đổi nhẹ:- 86 Chuỗi khác nhau:- 0 

Thử nghiệm với từng phần_tương tự càng nhiều càng tốt để hiểu rõ hơn.

fuzz.WRatio ()

fuzz.WRatio () xử lý chữ hoa và chữ thường và một số tham số khác. Hãy xem một số ví dụ.

Ví dụ

 ## nhập mô-đun từ thư viện mờwuzzy từ nhập nhập mờ mờ ## 100 điểm ngay cả khi một chuỗi chứa nhiều ký tự hơn chuỗi còn lại (f "Điểm tối đa:- {fuzz.WRatio ('tutorialspoint', 'tutorialspoint !!! ')} ") ## điểm ngẫu nhiên cho những thay đổi nhỏ trong stringsprint (f" Chuỗi Thay đổi Nhẹ:- {fuzz.WRatio (' tutorialspoint ',' TutorialsPoint ')} ") print (f" Chuỗi Thay đổi Nhẹ:- {fuzz .WRatio ('tutorialspoint', 'TutorialsPoint')} ") ## hoàn thành stringsprint khác (f" Các chuỗi khác nhau:- {fuzz.ratio ('abcd', 'efgh')} ") 

Đầu ra

 Điểm tối đa:- 100 Chuỗi thay đổi nhẹ:- 100 Chuỗi thay đổi nhẹ:- 100 Chuỗi khác nhau:- 0 

WRatio bỏ qua các trường hợp và một số ký tự phụ như chúng ta thấy. Sử dụng WRatio thay vì một tỷ lệ đơn giản cung cấp cho bạn nhiều chuỗi đối sánh gần nhau hơn.

Kết luận

Nếu bạn có bất kỳ nghi ngờ nào về hướng dẫn, hãy đề cập đến chúng trong phần bình luận.