- À propos de count() en Python
- Syntaxe de la méthode count()
- Compter les occurrences d'un caractère
- Compter les occurrences d'une sous-chaîne
- Utiliser les paramètres start et end
- Compter une sous-chaîne absente
- Sensibilité à la casse de count()
- Compter les espaces et les caractères spéciaux
- Comprendre le comptage des occurrences non chevauchantes
- Utiliser count() avec une condition
- Exemples pratiques avec count()
- À retenir !
La méthode count() permet de compter le nombre d'occurrences d'un caractère ou d'une sous-chaîne à l'intérieur d'une chaîne de caractères en Python. Elle constitue une solution simple et efficace lorsqu'on souhaite déterminer combien de fois un élément apparaît dans un texte.
Dans ce tutoriel, nous allons apprendre à utiliser count(), à limiter la recherche à une partie d'une chaîne et à comprendre son comportement dans différentes situations.
1. À propos de count() en Python
Les objets de type str disposent de la méthode count(). Celle-ci parcourt une chaîne de caractères et retourne le nombre d'occurrences de la sous-chaîne recherchée.
Dans l'exemple suivant, la méthode count() compte combien de fois le mot Python apparaît dans une chaîne.
1 2 3 | texte = "Python est simple. Python est puissant." nombre = texte.count("Python") print(nombre) |
Sortie :
1 | 2 |
Le résultat est 2, car le mot Python apparaît deux fois dans la chaîne.
2. Syntaxe de la méthode count()
La méthode count() peut être utilisée avec un seul argument ou avec les paramètres facultatifs start et end permettant de délimiter la partie de la chaîne dans laquelle le comptage doit être effectué.
La syntaxe générale de la méthode count() est la suivante :
1 | chaine.count(sous_chaine, start, end) |
Sortie :
1 | Nombre d'occurrences de sous_chaine |
Dans cette syntaxe, sous_chaine représente la chaîne recherchée, tandis que start et end sont facultatifs.
- sous_chaine : caractère ou chaîne dont on souhaite compter les occurrences.
- start : indice à partir duquel le comptage commence.
- end : indice auquel la zone de recherche s'arrête, cet indice étant exclu.
Dans sa forme la plus simple, il suffit de transmettre la sous-chaîne recherchée à count().
1 2 3 | texte = "Python Python Python" nombre = texte.count("Python") print(nombre) |
Sortie :
1 | 3 |
Le mot Python apparaît trois fois. La méthode retourne donc l'entier 3.
3. Compter les occurrences d'un caractère
La méthode count() peut être utilisée pour déterminer combien de fois un caractère apparaît dans une chaîne.
Dans l'exemple suivant, nous comptons le nombre d'occurrences de la lettre a dans le mot programmation.
1 2 3 | mot = "programmation" nombre = mot.count("a") print(nombre) |
Sortie :
1 | 2 |
La lettre a apparaît deux fois dans la chaîne programmation.
Compter plusieurs caractères séparément
Il est également possible d'effectuer plusieurs appels à count() pour compter séparément différents caractères d'une même chaîne.
1 2 3 4 | mot = "programmation" print("Nombre de a :", mot.count("a")) print("Nombre de m :", mot.count("m")) print("Nombre de o :", mot.count("o")) |
Sortie :
1 2 3 | Nombre de a : 2 Nombre de m : 2 Nombre de o : 2 |
Chaque appel à count() effectue un comptage indépendant pour le caractère indiqué.
4. Compter les occurrences d'une sous-chaîne
count() ne sert pas uniquement à compter des caractères isolés. Elle peut rechercher une sous-chaîne composée de plusieurs caractères.
Dans l'exemple suivant, nous comptons le nombre d'occurrences du mot Python dans une phrase.
1 2 3 | texte = "Python est facile et Python est très populaire." nombre = texte.count("Python") print("Nombre d'occurrences :", nombre) |
Sortie :
1 | Nombre d'occurrences : 2 |
La méthode trouve deux occurrences exactes de la sous-chaîne Python.
Compter une séquence de caractères
La valeur recherchée n'est pas nécessairement un mot complet. Elle peut être n'importe quelle séquence de caractères.
1 2 3 | texte = "abababab" nombre = texte.count("ab") print(nombre) |
Sortie :
1 | 4 |
La séquence ab apparaît quatre fois dans la chaîne.
5. Utiliser les paramètres start et end
Les paramètres facultatifs start et end permettent de limiter le comptage à une portion particulière de la chaîne.
Utiliser le paramètre start
Le paramètre start indique l'indice à partir duquel Python doit commencer à compter les occurrences. Dans l'exemple suivant, la première occurrence de Python est volontairement exclue de la recherche.
1 2 3 | texte = "Python Java Python C++ Python" nombre = texte.count("Python", 1) print(nombre) |
Sortie :
1 | 2 |
La recherche commence à l'indice 1. L'occurrence située au début de la chaîne n'est donc pas prise en compte.
Utiliser start et end
Les paramètres start et end permettent de définir précisément une zone de recherche. L'indice start est inclus tandis que l'indice end est exclu.
1 2 3 | texte = "Python Java Python C++ Python" nombre = texte.count("Python", 5, 20) print(nombre) |
Sortie :
1 | 1 |
Seule l'occurrence de Python située dans la portion comprise entre les indices 5 et 20 est comptabilisée.
6. Compter une sous-chaîne absente
Lorsque la sous-chaîne recherchée n'existe pas, count() retourne simplement la valeur 0. Contrairement à certaines autres méthodes de chaînes, aucune exception ValueError n'est déclenchée.
Dans l'exemple suivant, nous recherchons le mot Java dans une chaîne qui ne le contient pas.
1 2 3 | texte = "Apprendre Python facilement" nombre = texte.count("Java") print(nombre) |
Sortie :
1 |
La valeur 0 indique qu'aucune occurrence de Java n'a été trouvée.
Ce comportement permet notamment de tester facilement si une chaîne contient ou non une sous-chaîne.
1 2 3 | texte = "Apprendre Python facilement" if texte.count("Java") == 0: print("Java n'est pas présent dans le texte.") |
Sortie :
1 | Java n'est pas présent dans le texte. |
La condition est vraie puisque count() retourne 0.
7. Sensibilité à la casse de count()
La méthode count() est sensible à la casse. Cela signifie que les majuscules et les minuscules sont considérées comme des caractères différents.
Dans l'exemple suivant, Python, python et PYTHON ne sont donc pas considérés comme la même sous-chaîne.
1 2 3 | texte = "Python python PYTHON Python" nombre = texte.count("Python") print(nombre) |
Sortie :
1 | 2 |
Seules les deux occurrences écrites exactement sous la forme Python sont comptées.
Compter sans tenir compte de la casse
Pour effectuer un comptage sans distinguer les majuscules des minuscules, on peut convertir préalablement le texte avec lower() puis rechercher la version en minuscules de la sous-chaîne.
1 2 3 | texte = "Python python PYTHON Python" nombre = texte.lower().count("python") print(nombre) |
Sortie :
1 | 4 |
Toutes les variantes sont converties en minuscules avant le comptage. Les quatre occurrences sont donc détectées.
8. Compter les espaces et les caractères spéciaux
Comme count() travaille avec des chaînes de caractères, elle permet également de compter les espaces, les signes de ponctuation et d'autres caractères spéciaux.
Compter les espaces
Pour compter les espaces présents dans une phrase, il suffit d'utiliser une chaîne contenant un espace comme argument de count().
1 2 3 | texte = "Python est un langage facile" nombre = texte.count(" ") print(nombre) |
Sortie :
1 | 4 |
La phrase contient quatre caractères espace.
Compter les signes de ponctuation
La même technique permet de compter un signe de ponctuation particulier. Dans cet exemple, nous comptons les virgules.
1 2 3 | texte = "Python, Java, C++, PHP, JavaScript" nombre = texte.count(",") print(nombre) |
Sortie :
1 | 4 |
La chaîne contient quatre virgules.
9. Comprendre le comptage des occurrences non chevauchantes
Une propriété importante de count() est que la méthode compte les occurrences non chevauchantes. Une partie de la chaîne déjà utilisée pour une occurrence n'est pas réutilisée pour former l'occurrence suivante.
L'exemple suivant permet de bien comprendre ce comportement avec la chaîne aaaa et la sous-chaîne aa.
1 2 3 | texte = "aaaa" nombre = texte.count("aa") print(nombre) |
Sortie :
1 | 2 |
On pourrait repérer visuellement aa aux positions 0, 1 et 2 si les occurrences pouvaient se chevaucher. Cependant, count() compte uniquement les occurrences non chevauchantes : aa + aa. Le résultat est donc 2 et non 3.
Un autre exemple permet d'observer le même phénomène avec une sous-chaîne plus longue.
1 2 3 | texte = "abababa" nombre = texte.count("aba") print(nombre) |
Sortie :
1 | 2 |
La méthode compte deux occurrences non chevauchantes de aba.
10. Utiliser count() avec une condition
La valeur entière retournée par count() peut être utilisée dans une structure conditionnelle if pour prendre une décision en fonction du nombre d'occurrences.
Dans l'exemple suivant, nous vérifions si le mot Python apparaît au moins trois fois dans un texte.
1 2 3 4 5 6 | texte = "Python est simple. Python est puissant. Python est populaire." nombre = texte.count("Python") if nombre >= 3: print("Le mot Python apparaît au moins trois fois.") else: print("Le mot Python apparaît moins de trois fois.") |
Sortie :
1 | Le mot Python apparaît au moins trois fois. |
La méthode retourne 3. La condition nombre >= 3 est donc vérifiée.
Vérifier la présence d'une sous-chaîne avec count()
Il est également possible de vérifier si une sous-chaîne apparaît au moins une fois en comparant le résultat de count() à zéro.
1 2 3 4 5 | texte = "J'apprends la programmation avec Python." if texte.count("Python") > 0: print("Python est présent.") else: print("Python est absent.") |
Sortie :
1 | Python est présent. |
Dans ce cas précis, l'opérateur in constitue généralement une solution plus directe si l'on souhaite uniquement vérifier la présence d'une sous-chaîne. count() est surtout utile lorsqu'on souhaite connaître le nombre exact d'occurrences.
11. Exemples pratiques avec count()
Compter le nombre d'un mot dans un texte
La méthode count() peut être utilisée pour effectuer une analyse simple d'un texte. Dans l'exemple suivant, nous comptons combien de fois la chaîne Python apparaît.
1 2 3 4 5 | texte = """Python est un langage de programmation. Python est facile à apprendre. De nombreux développeurs utilisent Python.""" nombre = texte.count("Python") print("Nombre d'occurrences de Python :", nombre) |
Sortie :
1 | Nombre d'occurrences de Python : 3 |
La méthode détecte les trois occurrences exactes de la chaîne Python.
Compter certaines lettres dans un mot
On peut utiliser count() à l'intérieur d'une boucle pour afficher le nombre d'occurrences de plusieurs caractères. L'exemple suivant compte séparément les voyelles a, e, i, o et u.
1 2 3 | mot = "programmation" for voyelle in "aeiou": print(voyelle, ":", mot.count(voyelle)) |
Sortie :
1 2 3 4 5 | a : 2 e : 0 i : 1 o : 2 u : 0 |
À chaque itération, la méthode count() calcule le nombre d'occurrences de la voyelle courante.
Compter le nombre de lignes d'un texte
Dans un texte utilisant le caractère \n comme séparateur de lignes, on peut compter ces séparateurs pour déterminer le nombre de lignes. Pour un texte non vide correctement représenté de cette manière, le nombre de lignes correspond au nombre de séparateurs augmenté de 1.
1 2 3 | texte = "Python\nJava\nC++\nJavaScript" nombre_lignes = texte.count("\n") + 1 print("Nombre de lignes :", nombre_lignes) |
Sortie :
1 | Nombre de lignes : 4 |
La chaîne contient trois caractères \n, ce qui délimite ici quatre lignes.
Compter les extensions dans une liste de noms de fichiers
La méthode count() peut également être utilisée pour effectuer rapidement certains comptages dans une chaîne représentant plusieurs noms de fichiers.
1 2 3 | fichiers = "cours.pdf image.jpg exercice.pdf notes.txt livre.pdf" nombre = fichiers.count(".pdf") print("Nombre de fichiers PDF :", nombre) |
Sortie :
1 | Nombre de fichiers PDF : 3 |
La sous-chaîne .pdf apparaît trois fois dans le texte.
12. À retenir !
- La méthode count() permet de compter le nombre d'occurrences d'un caractère ou d'une sous-chaîne.
- Elle s'utilise sous la forme chaine.count(sous_chaine).
- Elle retourne toujours un nombre entier.
- Si aucune occurrence n'est trouvée, count() retourne 0.
- Les paramètres facultatifs start et end permettent de limiter la zone de recherche.
- La méthode count() est sensible à la casse.
- Elle peut compter des lettres, des mots, des espaces, des signes de ponctuation ou toute autre séquence de caractères.
- La méthode compte les occurrences non chevauchantes.
- On peut combiner count() avec lower() pour effectuer un comptage sans tenir compte des majuscules et des minuscules.
- Le résultat de count() peut être utilisé dans une condition, une boucle ou un traitement statistique simple.
Auteur : Younes Derfoufi
Lieu de travail : CRMEF OUJDA
Site Web : www.tresfacile.net
Chaine YouTube : https://www.youtube.com/user/InformatiquesFacile
Me contacter : https://www.tresfacile.net/me-contacter/



