Je veux compter à quelle fréquence une séquence plusieurs caractères se produisent dans une chaîne. Par exemple, je veux voir combien de fois ad code> apparaît dans Badhadmad code>. J'ai pensé à utiliser un pour code> boucle mais je ne sais pas comment itérir plus d'un caractère. Comment puis-je accomplir THS? P>
3 Réponses :
Utilisez ceci pour compter le nombre d'occurrences d'une sous-chaîne en python.
import re
print(len(re.findall('(?=aba)', 'ababa')))
Aussi, pourquoi la double vérification du premier personnage?
J'aimerais savoir s'il s'agit d'une redondance de calcul majeure?
Probablement un petit, mais en python lisibilité compte :) Comptez également sur Python pour effectuer le contrôle de manière efficace. Je suis sûr que, en faisant s [i: i + n] == motif code> Si le premier caractère ne correspond pas, aucun calcul supplémentaire ne sera effectué
C'est vrai que, mais je pense que la lisibilité est une chose subjective. Certains trouvent cela redondant ce que l'autre peut trouver lisible et inversement.
Eh bien avec ça je ne peux pas discuter évidemment :)
générer niveau de caractère N grammes pour votre chaîne str, puis utiliser compter si nécessaire. Vous pouvez faire une boucle sur la plage de valeurs de n que vous souhaitez considérer. P> p>
Utilisez simplement Nombre CODE> STROND> Méthode sur une chaîne dans Python x = "badhadmad"
x.count("ad")
# 3
Comment de Simple
"Badhadmad" .Count ('Ad') CODE> :)?Dupliqué possible de Nombre d'occurrences d'une donnée donnée Substrage dans une chaîne
@Chris mais
"Abeba" .Count ('aba') == 1 code>: D?@TrebledJ True!
str.count code> ne fonctionnera pas dans de tels cas. Dans ce cas, l'itération est en effet aller simple:somme (1 pour i dans la plage (len ("ababa")) si "ABA" == S [I: I + Len ("ABA")]) code>.