Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengira Kejadian Substring dalam Python, Termasuk Kes Bertindih?

Bagaimanakah Saya Boleh Mengira Kejadian Substring dalam Python, Termasuk Kes Bertindih?

Patricia Arquette
Patricia Arquetteasal
2024-12-09 17:08:18843semak imbas

How Can I Count Substring Occurrences in Python, Including Overlapping Cases?

Mencari Kejadian Subrentetan dalam Rentetan

Menentukan kekerapan subrentetan dalam rentetan ialah tugas asas dalam banyak senario pengaturcaraan. Python menawarkan kaedah mudah untuk mengira subrentetan dalam teks tertentu.

Mengira Kejadian Tidak Bertindih

Untuk kejadian tidak bertindih, Python menyediakan kaedah count(). Kaedah ini mengambil subrentetan sebagai hujah dan mengembalikan bilangan kali ia muncul dalam rentetan.

Sebagai contoh:

>>> 'foo bar foo'.count('foo')
2

Mengira Kejadian Bertindih

Jika anda perlu mengira kejadian bertindih, kaedah count() tidak boleh digunakan secara langsung. Anda boleh menggunakan pendekatan yang lebih langsung dengan mengulangi rentetan dan menyemak subrentetan pada setiap kedudukan. Kaedah ini memberikan hasil yang tepat untuk kejadian bertindih.

Contohnya:

def count_overlapping(string, substring):
    count = 0
    for i in range(len(string)):
        if string[i:i + len(substring)] == substring:
            count += 1
    return count

>>> count_overlapping('abcdabcva', 'ab')
3

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Kejadian Substring dalam Python, Termasuk Kes Bertindih?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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