頻繁的程式設計任務涉及確定特定子字串在較大字串中出現的次數。 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中文網其他相關文章!