Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich das Vorkommen von Teilzeichenfolgen in Python effizient zählen (einschließlich überlappender Fälle)?

Wie kann ich das Vorkommen von Teilzeichenfolgen in Python effizient zählen (einschließlich überlappender Fälle)?

Barbara Streisand
Freigeben: 2024-11-28 21:47:10
Original
963 Leute haben es durchsucht

How Can I Efficiently Count Substring Occurrences in Python (Including Overlapping Cases)?

Vorkommen eines Teilstrings innerhalb eines Strings in Python zählen

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage