Python String count() med EKSEMPLER
⚡ Smart opsummering
Python string count() er en indbygget metode, der returnerer, hvor mange gange et tegn eller en delstreng forekommer i en streng. Valgfrie start- og slutargumenter begrænser søgningen til et specifikt udsnit af teksten.
Hvad er Python Strengeantal()?
tælle() Metoden er en indbygget funktion i Python der returnerer det samlede antal gange et givet element forekommer i en streng. Optællingen starter fra starten af strengen og fortsætter til slutningen. Du kan også angive start- og slutindekset, hvorfra søgningen skal starte.
Syntaks for Python Strengantal()
Python Funktionen string count() bruger følgende syntaks:
string.count(char or substring, start, end)
Driftsparametre
- tegn eller delstreng: Det enkelte tegn eller den enkelte delstreng, du vil søge efter i den givne streng. count() returnerer, hvor mange gange det forekommer i strengen.
- Start: (valgfrit) Det angiver startindekset, hvorfra søgningen starter. Hvis det ikke er angivet, starter det fra 0. Hvis du for eksempel vil søge efter et tegn fra midten af strengen, kan du give startværdien til count-funktionen.
- ende: (valgfrit) Det angiver slutindekset, hvor søgningen slutter. Hvis ikke angivet, søges der til slutningen af strengen. Hvis du for eksempel ikke ønsker at scanne hele strengen og foretrækker at begrænse søgningen til et bestemt punkt, kan du angive værdien, der skal slutte, i count-funktionen.
Returværdi
Metoden count() returnerer en heltalsværdi, det vil sige antallet af det givne element i den givne streng. Den returnerer et 0, hvis værdien ikke findes i den givne streng.
Eksempel 1: Tællemetode på en streng
Følgende eksempel viser, hvordan count()-funktionen fungerer på en streng.
str1 = "Hello World"
str_count1 = str1.count('o') # counting the character “o” in the givenstring
print("The count of 'o' is", str_count1)
str_count2 = str1.count('o', 0,5)
print("The count of 'o' usingstart/end is", str_count2)
Output:
The count of 'o' is 2 The count of 'o' usingstart/end is 1
Eksempel 2: Tæl forekomsten af et tegn i en given streng
Følgende eksempel viser forekomsten af et tegn i en given streng, samt ved hjælp af start- og slutindekset.
str1 = "Welcome to Guru99 Tutorials!"
str_count1 = str1.count('u') # counting the character “u” in the given string
print("The count of 'u' is", str_count1)
str_count2 = str1.count('u', 6,15)
print("The count of 'u' usingstart/end is", str_count2)
Output:
The count of 'u' is 3 The count of 'u' usingstart/end is 2
Eksempel 3: Tæl forekomsten af en delstreng i en given streng
Følgende eksempel viser forekomsten af en delstreng i en given streng, samt ved hjælp af start- og slutindekset.
str1 = "Welcome to Guru99 - Free Training Tutorials and Videos for IT Courses"
str_count1 = str1.count('to') # counting the substring “to” in the givenstring
print("The count of 'to' is", str_count1)
str_count2 = str1.count('to', 6,15)
print("The count of 'to' usingstart/end is", str_count2)
Output:
The count of 'to' is 2 The count of 'to' usingstart/end is 1
Python count()-metoden på en liste
Metoden count() er ikke begrænset til strenge. Python Lister og tupler tilbyder også en count()-metode, der returnerer, hvor mange gange et specifikt element forekommer i sekvensen. I modsætning til strengversionen accepterer list.count() og tuple.count() kun det element, der skal søges efter, og de accepterer ikke start- eller slutindeksargumenter.
fruits = ['apple', 'banana', 'apple', 'grape', 'apple']
print(fruits.count('apple')) # counts how many times 'apple' appears
numbers = (1, 2, 2, 3, 2)
print(numbers.count(2)) # count() also works on a tuple
Output:
3 3
Fordi count() tilhører både strenge og sekvenser, fungerer det samme metodenavn, uanset om du tæller tegn i tekst eller gentagne elementer i en samling.
Sådan tæller du overlapping Forekomster i Python
Metoden count() tæller kun ikke-overlapping forekomster af en delstreng. Når matches kan overlappe hinanden, rapporterer count() færre resultater, end man kunne forvente. For eksempel returnerer det at tælle "aa" inde i "aaaa" 2 i stedet for 3, fordi count() bevæger sig forbi hvert match, den finder.
text = "aaaa"
print(text.count("aa")) # non-overlapping count is 2
import re
overlaps = len(re.findall("(?=(aa))", text))
print(overlaps) # overlapping count is 3
Output:
2 3
At tælle overlapping matches, brug re-modulet med en lookahead-påstand, eller loop med find()-metoden, og fremryk søgepositionen med et tegn efter hvert match.
" Lær mere om Python Stringmetoder

