Maison > développement back-end > Tutoriel Python > Comment puis-je compter les occurrences de sous-chaînes en Python, y compris les cas qui se chevauchent ?

Comment puis-je compter les occurrences de sous-chaînes en Python, y compris les cas qui se chevauchent ?

Patricia Arquette
Libérer: 2024-12-09 17:08:18
original
876 Les gens l'ont consulté

How Can I Count Substring Occurrences in Python, Including Overlapping Cases?

Recherche d'occurrences de sous-chaînes dans une chaîne

Déterminer la fréquence d'une sous-chaîne dans une chaîne est une tâche fondamentale dans de nombreux scénarios de programmation. Python offre une méthode pratique pour compter les sous-chaînes dans un texte donné.

Comptage des occurrences sans chevauchement

Pour les occurrences sans chevauchement, Python fournit la méthode count(). Cette méthode prend la sous-chaîne comme argument et renvoie le nombre de fois où elle apparaît dans la chaîne.

Par exemple :

>>> 'foo bar foo'.count('foo')
2
Copier après la connexion

Comptage des occurrences qui se chevauchent

Si vous devez compter les occurrences qui se chevauchent, la méthode count() n'est pas directement applicable. Vous pouvez utiliser une approche plus directe en parcourant la chaîne et en vérifiant la sous-chaîne à chaque position. Cette méthode fournit des résultats précis pour les occurrences qui se chevauchent.

Par exemple :

def count_overlapping(string, substring):
    count = 0
    for i in range(len(string)):
        if string[i:i + len(substring)] == substring:
            count += 1
    return count

>>> count_overlapping('abcdabcva', 'ab')
3
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal