Compter les occurrences d'un caractère dans une chaîne en Python
-
Utilisez la fonction
count()
pour compter le nombre de caractères apparaissant dans une chaîne en Python -
Utilisez le
collections.Counter
pour compter les occurrences d’un caractère dans une chaîne en Python - Utiliser des expressions régulières pour compter les occurrences d’un caractère dans une chaîne en Python
-
Utilisez le
defaultdict
pour compter les occurrences d’un caractère dans une chaîne en Python -
Utilisez le
pandas.value_counts()
pour compter les occurrences d’un caractère dans une chaîne en Python -
Utiliser une expression
lambda
pour compter les occurrences d’un caractère dans une chaîne en Python -
Utilisez la boucle
for
pour compter les occurrences d’un caractère dans une chaîne en Python
En programmation, une chaîne est une séquence de caractères.
Ce tutoriel présentera comment compter le nombre d’occurrences d’un caractère dans une chaîne en Python.
Utilisez la fonction count()
pour compter le nombre de caractères apparaissant dans une chaîne en Python
On peut compter l’occurrence d’une valeur dans les chaînes à l’aide de la fonction count()
. Il renverra combien de fois la valeur apparaît dans la chaîne donnée.
Par example,
print("Mary had a little lamb".count("a"))
Production:
4
N’oubliez pas que les majuscules et les minuscules sont traitées comme des caractères différents. A
et a
seront traités comme des caractères différents et auront des comptes différents.
Utilisez le collections.Counter
pour compter les occurrences d’un caractère dans une chaîne en Python
Un Counter
est une sous-classe de dictionnaire présente dans le module collections
. Il stocke les éléments sous forme de clés de dictionnaire et leurs occurrences sont stockées sous forme de valeurs de dictionnaire. Au lieu de générer une erreur, il renvoie un nombre de zéro pour les éléments manquants.
Par example,
from collections import Counter
my_str = "Mary had a little lamb"
counter = Counter(my_str)
print(counter["a"])
Production:
4
C’est un meilleur choix lorsque vous comptez plusieurs lettres car le compteur calcule tous les comptes une fois. C’est beaucoup plus rapide que la fonction count()
.
Utiliser des expressions régulières pour compter les occurrences d’un caractère dans une chaîne en Python
Une expression régulière est une syntaxe spécialisée contenue dans un modèle qui aide à trouver les chaînes ou l’ensemble de chaînes en faisant correspondre ce modèle. Nous importons le module re
pour travailler avec des expressions régulières.
Nous pouvons utiliser la fonction findall()
pour notre problème.
Par example,
import re
my_string = "Mary had a little lamb"
print(len(re.findall("a", my_string)))
Production:
4
Utilisez le defaultdict
pour compter les occurrences d’un caractère dans une chaîne en Python
Defaultdict
est présent dans le module collections
et est dérivé de la classe de dictionnaire. Sa fonctionnalité est relativement la même que celle des dictionnaires, sauf qu’elle ne génère jamais de KeyError
, car elle fournit une valeur par défaut pour la clé qui n’existe jamais.
Nous pouvons l’utiliser pour obtenir les occurrences d’un caractère dans une chaîne comme indiqué ci-dessous.
from collections import defaultdict
text = "Mary had a little lamb"
chars = defaultdict(int)
for char in text:
chars[char] += 1
print(chars["a"])
print(chars["t"])
print(chars["w"]) # element not present in the string, hence print 0
Production:
4
2
0
Utilisez le pandas.value_counts()
pour compter les occurrences d’un caractère dans une chaîne en Python
Nous pouvons utiliser la méthode pandas.value_counts()
pour obtenir les occurrences de tous les caractères présents dans la chaîne fournie. Nous devons passer la chaîne en tant qu’objet Series
.
Par example,
import pandas as pd
phrase = "Mary had a little lamb"
print(pd.Series(list(phrase)).value_counts())
Production:
4
a 4
l 3
t 2
e 1
b 1
h 1
r 1
y 1
M 1
m 1
i 1
d 1
dtype: int64
Il renvoie les occurrences de tous les caractères d’un objet Series
.
Utiliser une expression lambda
pour compter les occurrences d’un caractère dans une chaîne en Python
Les fonctions lambda
peuvent non seulement compter les occurrences de la chaîne donnée, mais peuvent également fonctionner lorsque nous avons la chaîne, en tant que liste de sous-chaînes.
Voir le code suivant.
sentence = ["M", "ar", "y", "had", "a", "little", "l", "am", "b"]
print(sum(map(lambda x: 1 if "a" in x else 0, sentence)))
Production:
4
Utilisez la boucle for
pour compter les occurrences d’un caractère dans une chaîne en Python
Nous parcourons la chaîne et si l’élément est égal au caractère souhaité, la variable count est incrémentée jusqu’à ce que nous atteignions la fin de la chaîne.
Par example,
sentence = "Mary had a little lamb"
count = 0
for i in sentence:
if i == "a":
count = count + 1
print(count)
Production:
4
Nous pouvons voir une autre façon d’utiliser cette méthode avec la fonction sum()
ci-dessous.
my_string = "Mary had a little lamb"
print(sum(char == "a" for char in my_string))
Production:
4
Article connexe - Python String
- Supprimer les virgules de la chaîne en Python
- Comment vérifier qu'une chaîne est vide de manière pythonique
- Convertir une chaîne en nom de variable en Python
- Comment supprimer les espaces dans une chaîne de caractères en Python
- Comment extraire des nombres d'une chaîne de caractèresen Python
- Comment convertir une chaîne de caractères en datetime en Python