Python での重複する文字列の出現数のカウント
文字列の出現数をカウントする場合、重複を見落とすと不正確な結果が生じる可能性があります。一般的なアプローチの 1 つは、文字列を 1 文字ずつループすることですが、これは文字列が大きくなると非効率になる可能性があります。
より良い方法はありますか?
はい、あります。 C で動作する find() メソッドを使用した、より効率的なソリューションです。改善されたソリューションは次のとおりです。コード:
def occurrences(string, sub): count = start = 0 while True: start = string.find(sub, start) + 1 if start > 0: count+=1 else: return count
仕組み
使用例
たとえば、これを使用して文字列 "1011101111" 内の "11" の出現を数えます。このメソッドは同じ結果 5 を生成しますが、効率が向上します。
以上がPython で重複する文字列の出現を効率的にカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。