Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich überlappende String-Vorkommen in Python effizient zählen?
Zählung überlappender String-Vorkommen in Python
Wenn es um die Zählung von String-Vorkommen geht, kann das Übersehen von Überlappungen zu falschen Ergebnissen führen. Ein gängiger Ansatz besteht darin, die Zeichenfolge Zeichen für Zeichen zu durchlaufen, was jedoch bei größeren Zeichenfolgen ineffizient sein kann.
Gibt es einen besseren Weg?
Ja, das gibt es eine effizientere Lösung mit der find()-Methode, die in C funktioniert. Hier ist der verbesserte Code:
def occurrences(string, sub): count = start = 0 while True: start = string.find(sub, start) + 1 if start > 0: count+=1 else: return count
Wie es ist Funktioniert
Verwendungsbeispiel
Zum Beispiel würde das Zählen der Vorkommen von „11“ in der Zeichenfolge „1011101111“ mit dieser Methode zum gleichen Ergebnis führen 5, aber mit verbesserter Effizienz.
Das obige ist der detaillierte Inhalt vonWie kann ich überlappende String-Vorkommen in Python effizient zählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!