Wie finde ich den längsten gemeinsamen Teilstring zwischen zwei Strings in Python?

Mary-Kate Olsen
Freigeben: 2024-10-27 03:40:02
Original
237 Leute haben es durchsucht

How to Find the Longest Common Substring Between Two Strings in Python?

Gemeinsame Teilzeichenfolgen in zwei Zeichenfolgen finden

Die Identifizierung der gemeinsamen Teilzeichenfolge zweier Zeichenfolgen ist eine häufige Aufgabe in der Programmierung. Angenommen, wir haben zwei Eingabezeichenfolgen, wie in der Problemstellung dargestellt:

<br>string1 = "apples"<br>string2 = "appleses"<br>

In diesem Fall ist die gemeinsame Teilzeichenfolge „Äpfel“. Ebenso für das komplexere Beispiel:

<br>string1 = "Apfelkuchen verfügbar"<br>string2 = "Apfelkuchen"<br>

Die erwartete Ausgabe sollte „Apple Pie“ sein, was den gemeinsam genutzten Teilstring darstellt.

Pythonic-Lösung mit difflib

Um dieses Problem in Python effizient zu lösen, können wir nutzen das in der Standardbibliothek enthaltene Difflib-Modul. Insbesondere kann die Methode find_longest_match() in SequenceMatcher verwendet werden, um die längste gemeinsame Teilzeichenfolge zwischen zwei Zeichenfolgen zu identifizieren.

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

string1 = "apple pie available"
string2 = "come have some apple pies"

match = SequenceMatcher(None, string1, string2).find_longest_match()

print(match)  # Output: Match(a=0, b=15, size=9)
print(string1[match.a:match.a + match.size])  # Output: "apple pie"
print(string2[match.b:match.b + match.size])  # Output: "apple pie"</code>
Nach dem Login kopieren

In Python-Versionen vor 3.9 erfordert die Methode find_longest_match() zusätzliche Argumente:

<code class="python">SequenceMatcher(None, string1, string2).find_longest_match(0, len(string1), 0, len(string2))</code>
Nach dem Login kopieren

Durch die Verwendung dieses Ansatzes können wir die gemeinsame Teilzeichenfolge effektiv aus einem Paar Eingabezeichenfolgen extrahieren und so die Suche nach gemeinsamen Sequenzen vereinfachen.

Das obige ist der detaillierte Inhalt vonWie finde ich den längsten gemeinsamen Teilstring zwischen zwei Strings in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!