Eine häufige Programmieraufgabe besteht darin, zu bestimmen, wie oft ein bestimmter Teilstring innerhalb eines größeren Strings vorkommt. Python bietet mehrere Methoden, um diese Aufgabe effizient zu erledigen.
Ein einfacher Ansatz ist die Verwendung der string.count()-Methode. Diese Methode verwendet den Teilstring als Argument und gibt die Anzahl der Vorkommen innerhalb des Strings zurück. Zum Beispiel:
>>> 'foo bar foo'.count('foo') 2
Diese Methode zählt auch zwei aufeinanderfolgende überlappende Vorkommen der Teilzeichenfolge. Wenn dies unerwünscht ist, können Sie andere Optionen in Betracht ziehen.
Wenn Sie überlappende Vorkommnisse berücksichtigen müssen, kann eine benutzerdefinierte Implementierung mit einem Schiebefenster-Ansatz verwendet werden. Hier ist ein Beispiel:
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
Mit dieser Funktion können Sie die Anzahl der Vorkommen eines Teilstrings innerhalb eines Strings genau bestimmen, unabhängig davon, ob sie sich überlappen.
Das obige ist der detaillierte Inhalt vonWie kann ich das Vorkommen von Teilzeichenfolgen in Python effizient zählen (einschließlich überlappender Fälle)?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!