首頁 >後端開發 >Python教學 >如何有效率地統計Python中子字串的出現次數(包括重疊情況)?

如何有效率地統計Python中子字串的出現次數(包括重疊情況)?

Barbara Streisand
Barbara Streisand原創
2024-11-28 21:47:10981瀏覽

How Can I Efficiently Count Substring Occurrences in Python (Including Overlapping Cases)?

在Python 中計算字串中子字串的出現次數

頻繁的程式設計任務涉及確定特定子字串在較大字串中出現的次數。 Python 提供了多種方法來有效地完成此任務。

一個簡單的方法是利用 string.count() 方法。此方法將子字串作為參數並傳回字串中出現的次數。例如:

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

此方法也會計算子字串連續兩次重疊出現的次數。如果這是不可取的,您可以考慮其他選項。

如果您需要考慮重疊事件,可以採用使用滑動視窗方法的自訂實作。以下是一個範例:

def count_overlapping_occurrences(string, substring):
    count = 0
    window_start = 0
    window_end = len(substring)
    while window_end <= len(string):
        substring_occurrence = string[window_start:window_end]
        if substring_occurrence == substring:
            count += 1
        window_start += 1
        window_end += 1
    return count

>>> count_overlapping_occurrences('abcdabcva', 'ab')
4

透過使用此函數,您可以準確地確定字串中子字串出現的次數,無論它們是否重疊。

以上是如何有效率地統計Python中子字串的出現次數(包括重疊情況)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn