Zählen von bestimmten Vorkommen über die String-Methode .count()
Wenn man wissen möchte, wie oft etwas in einem String vorkommt, hilft die Methode .count()
in Python weiter. In den Klammern gibt man das Gesuchte ein. Will man zum Beispiel von unserem String mit den Variablennamen „inhalt“ wissen, wie viele „i“ in diesem vorhanden sind bekommt man das im Handumdrehen über folgenden Code:
inhalt = "Hier kommt ein String-Inhalt"
print ( inhalt.count("i") )
Als Rückmeldung erhält man „3“. Der Buchstabe „i“ kommt also 3-mal in unserem String vor.
Wir können auch nach mehr als einem Buchstaben suchen. Natürlich gehen ganze Wörter oder auch Wortteile wie z.B. „in“.
inhalt = "Hier kommt ein String-Inhalt"
print ( inhalt.count("in") )
Als Rückmeldung kommt:
2
Das Wort „in“ kommt 2-mal vor in unserem String:
Hier kommt ein String-Inhalt
Bei dem Wort „Inhalt“ haben wir ein weiteres „in“, das allerdings mit Großschreibung beginnt. Mit der Großschreibung wird es allerdings nicht gefunden, sprich das „In“ von dem Wort „Inhalt“ wurde nicht gefunden und somit auch nicht mitgezählt. Es gibt bei der Methode .count()
keinen optionalen Parameter, aber ein die entsprechende Methode zur Umwandlung in Kleinbuchstaben haben wir bereits kennengelernt, mit der wir dies erreichen.
Gemeint ist die Methode .lower()
. Hier unser Beispiel in Teilschritten:
inhalt = "Hier kommt ein String-Inhalt"
kleinbuchstaben = inhalt.lower()
print ( kleinbuchstaben )
print ( kleinbuchstaben.count("in") )
Optionale Parameter bei .count("teilstring", index_anfang=..., index_ende=...)
Wollen wir nur innerhalb der ersten 15 Zeichen den String überprüfen lassen, können wir dies über die optionalen Parameter für den Bereich (also Anfangspunkt und Endpunkt) erreichen:
inhalt = "Hier kommt ein String-Inhalt"
print ( inhalt.count("in", 0, 15) )
Es wird dann nur der Teil des Strings mit dem Inhalt „Hier kommt ein“ ausgewertet und dort wird dann einmal der gesuchte Teilstring „in“ gefunden im letzten Wort „ein“.
Weitere Nutzungsmöglichkeiten
Die Methode .count()
kann genauso bei Listen eingesetzt werden!