Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah `difflib` Python Boleh Mengira Persamaan Rentetan dengan Cekap?

Bagaimanakah `difflib` Python Boleh Mengira Persamaan Rentetan dengan Cekap?

DDD
Lepaskan: 2024-12-08 06:15:12
asal
165 orang telah melayarinya

How Can Python's `difflib` Efficiently Calculate String Similarity?

Mendapatkan Metrik Persamaan Rentetan dalam Python

Menentukan persamaan antara rentetan ialah tugas penting dalam pelbagai aplikasi pemprosesan bahasa semula jadi. Python menawarkan perpustakaan yang mantap untuk membantu dalam usaha ini.

Pendekatan:

Untuk mengira metrik persamaan antara dua rentetan, modul difflib menyediakan Kelas SequenceMatcher. Kelas ini menilai persamaan antara dua jujukan (rentetan dalam kes ini) menggunakan algoritma yang berbeza, termasuk algoritma urutan sepunya terpanjang (LCS).

Pelaksanaan:

from difflib import SequenceMatcher

def similar(a, b):
    return SequenceMatcher(None, a, b).ratio()
Salin selepas log masuk

Fungsi serupa menerima dua rentetan, a dan b, dan mengembalikan nilai perpuluhan yang mewakili kesamaan antara mereka, antara 0 (tiada persamaan) hingga 1 (persamaan sempurna).

Penggunaan:

print(similar("Apple", "Appel"))  # Expected output: 0.8 (high similarity)
print(similar("Apple", "Mango"))  # Expected output: 0.0 (low similarity)
Salin selepas log masuk

Dalam contoh ini, persamaan antara "Apple" dan "Appel" adalah tinggi, menunjukkan kebarangkalian tinggi untuk persamaan, manakala persamaan antara "Apple" dan "Mangga" adalah rendah, menunjukkan kebarangkalian persamaan yang rendah.

Atas ialah kandungan terperinci Bagaimanakah `difflib` Python Boleh Mengira Persamaan Rentetan dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan