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.

  • 🔢 Returværdi: count() returnerer et heltal, antallet af ikke-overlappendeping forekomster, eller 0 når elementet er fraværende.
  • 🎯 Start og slut: Valgfrie start- og slutindekser begrænser antallet til en valgt del af strengen.
  • 🔠 Sagsfølsomhed: Optælling skelner mellem store og små bogstaver, så normaliser med lower() eller upper(), før du sammenligner tekst med blandede store og små bogstaver.
  • ???? Lister og tupler: Metoden count() tæller også, hvor mange gange et element forekommer i en liste eller en tuple.
  • 🔁 Overlapninger: count() springer overlapping matcher, så find() i en løkke eller et regulært udtryk håndterer disse tilfælde.
  • 🤖 AI assistance: AI-kodningsassistenter genererer count()-logik og count-tokenfrekvenser til maskinlæring og NLP.

Python Strengantal()

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

Ofte Stillede Spørgsmål

Ja. count() matcher tegnene præcist, så "Hello".count("h") returnerer 0, mens "Hello".count("H") returnerer 1. Konverter strengen med lower() eller upper() først, når du har brug for optælling uden at skelne mellem store og små bogstaver.

count() returnerer 0, når tegnet eller delstrengen ikke forekommer i strengen. Den genererer aldrig en fejl for et manglende element, hvilket gør den sikker at bruge direkte i betingelser og sammenligninger.

At sende en tom streng returnerer strengens længde plus én, fordi Python tæller de tomme matches mellem hvert tegn og i begge ender. For "abc" er resultatet 4.

No. count() accepterer ét tegn eller én delstreng pr. kald. For at tælle mange tegn sammen skal du bruge collections.Counter, som returnerer hyppigheden af ​​hvert tegn i strengen i en enkelt omgang.

count() returnerer hvor mange gange en delstreng forekommer, mens find() returnerer indekset for dens første forekomst, eller -1 hvis det ikke forekommer. Brug count() til totaler og find() til at finde en position.

Ja. count() er implementeret i C, så den scanner strengen meget hurtigere end en tilsvarende Python for-loop. Foretrækker count() for både læsbarhed og hastighed, når du kun har brug for ikke-overlapningping totaler.

AI-assistenter genererer count() og collections.Counter-kode fra letforståelige prompts. I maskinlæring og NLP opbygger tælling af ord- eller tokenfrekvenser funktioner såsom "bag-of-words"-vektorer, som modeller bruger til klassificering.

Ja. GitHub Copilot fuldfører automatisk count()-kald fra en kort kommentar, der beskriver dit mål. Agentics AI-værktøjer går videre, skriver optællingslogikken, tilføjer start- og slutargumenter og kører dine tests for dig.

Opsummer dette indlæg med: