在Python 中計算重疊出現的字串出現次數
問題涉及找到一種有效的Python 方法來計算特定子字串的出現次數,允許對於重疊。一個建議的方法涉及迭代搜尋:
def function(string, str_to_search_for): count = 0 for x in xrange(len(string) - len(str_to_search_for) + 1): if string[x:x+len(str_to_search_for)] == str_to_search_for: count += 1 return count
但是,一種可能更快的方法利用Python find() 函數在C: 中執行搜尋
def occurrences(string, sub): count = start = 0 while True: start = string.find(sub, start) + 1 if start > 0: count += 1 else: return count
此方法利用透過以較低階語言執行搜尋來提高C 的計算效率。透過使用 while 循環,它繼續搜尋子字串的出現,並在找到子字串時遞增計數變數。最終,它會傳回出現次數的總數,包括重疊的次數。
以上是如何在Python中有效地統計重疊子字串的出現次數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!