Meaning
Returns the number of non-overlapping occurrences of a substring within a string. Eliminates the need to write manual iteration loops for frequency counting. Reach for it whenever you need to know how many times a specific character or substring appears in text data.
Primary Function
String manipulation
Communicative Purpose
Count occurrences of a substring in a string.
Pattern
target.count(substring[, start[, end]])
Core Structure
... .count(...)
Função primária
String manipulation
Propósito comunicativo
Count occurrences of a substring in a string.
Situações de gatilho
Log analysis: counting keyword frequency in server logs; Input validation: checking number of delimiters in filenames; Text processing: measuring character or substring frequency in corpora
Contextos
General Python programming, data processing scripts, web scraping, text analysis.
Padrão
target.count(substring[, start[, end]])
Estrutura central
... .count(...)
Slots de substituição
target: str, substring: str
Colocados típicos
- len()
- find()
- replace()
- slicing
Substituições comuns
- using collections.Counter for multiple substrings
- or re.findall for regex patterns
Erros comuns
Expecting overlapping matches (e.g., 'aaaa'.count('aa') returns 2, not 3) — cause: assuming sliding-window behavior — consequence: silent undercount in frequency analysis; Assuming case-insensitivity (e.g., 'Hello'.count('h') returns 0) — cause: expecting automatic case folding — consequence: missed matches in case-variant text; Calling on non-string types — cause: forgetting to convert to str first — consequence: AttributeError at runtime
Similar / contraste
str.find() returns first index; str.index() raises exception if not found; str.startswith()/endswith() check prefixes/suffixes
Interferências
Coming from languages where substring count is done via loops (e.g., C): may overlook built-in method and write manual loops.
Família do chunk
- string search methods
- len
- find
- replace
- isalpha
Nuance
Do not use when you need overlapping match counts; use regex with lookahead instead. Runs in O(n) time per call, but repeated calls on the same string for different substrings may be slower than building a Counter once. The optional start/end parameters define a search window without copying the string, but bounds are silently clamped to the string length.
Efeito pragmático
Provides O(n) efficient counting without explicit loops.
Dica de memória
Think 'count the subs' like counting subs in a sandwich.
Nota
Returns an integer count; overlapping matches are not considered; for overlapping counts use regex with lookahead.
Upgrade path
Use re.findall(r'(?={})'.format(re.escape(sub)), s) to count overlapping occurrences.
Log in to save chunks.