Maison > développement back-end > Tutoriel Python > Comment trouver efficacement la sous-chaîne commune la plus longue entre deux chaînes en Python ?

Comment trouver efficacement la sous-chaîne commune la plus longue entre deux chaînes en Python ?

DDD
Libérer: 2024-10-29 09:02:30
original
254 Les gens l'ont consulté

How can I efficiently find the longest common substring between two strings in Python?

Trouver la sous-chaîne commune entre les chaînes

Dans le domaine de la manipulation de chaînes, il est souvent nécessaire de comparer deux chaînes et d'extraire la section qui se chevauche. Cette tâche, connue sous le nom de recherche de la sous-chaîne commune, peut être réalisée en utilisant diverses approches.

Une solution puissante réside dans la bibliothèque Python difflib, en particulier sa fonction find_longest_match. Cette fonction identifie méticuleusement la sous-chaîne commune la plus longue entre les deux chaînes données.

<code class="python">from difflib import SequenceMatcher

# Example 1
string1 = "apples"
string2 = "appleses"
match = SequenceMatcher(None, string1, string2).find_longest_match()
common_substring = string1[match.a:match.a + match.size]  # "apples"

# Example 2
string1 = "apple pie available"
string2 = "apple pies"
match = SequenceMatcher(None, string1, string2).find_longest_match()
common_substring = string1[match.a:match.a + match.size]  # "apple pie"

print(common_substring)</code>
Copier après la connexion

Dans les anciennes versions de Python (antérieures à 3.9), la fonction find_longest_match nécessite des arguments supplémentaires :

<code class="python"># Python versions prior to 3.9
match = SequenceMatcher(None, string1, string2).\
    find_longest_match(0, len(string1), 0, len(string2))</code>
Copier après la connexion

En utilisant la bibliothèque difflib, nous avons accès à un ensemble robuste de fonctions de comparaison de séquences, permettant une extraction transparente de la sous-chaîne commune entre deux chaînes.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal