Schreiben Sie ein Python-Programm, um die Bearbeitungsentfernung [Python] [Levenshtein-Entfernung] zu ermitteln.

Distanz bearbeiten ist was

Grobe Erklärung

s1 = "aaa"
s2 = "aab"
s1 = "aba"
s2 = "cc"

Implementierung

Es gibt ein sehr nützliches Python-Modul "Python-Levenshtein" Das offizielle Dokument ist hier

Installation

Mit pip installieren

$ pip install python-Levenshtein

Programm

leven.py


import Levenshtein
import sys

args = sys.argv

with open(args[1], "r") as f_ans:
    with open(args[2], "r") as f_ref:
        s_ans = f_ans.read()
        s_ref = f_ref.read()

print(Levenshtein.distance(s_ans, s_ref))

Es ist ein einfaches Programm, das nur zwei Textdateien als Befehlszeilenargumente angibt und den Bearbeitungsabstand ausspuckt.

Ergebnis

Bereiten Sie zwei Textdateien vor.

tmp1.txt


Helllo worb!!

tmp2.txt


Hello world!

So konvertieren Sie von tmp1.txt nach tmp2.txt

Der Bearbeitungsabstand sollte also 4 betragen.

$ python leven.py tmp1.txt tmp2.txt
4

wurde. glücklich.

Impressionen

Dies ist ein Artikel, der von einer Person geschrieben wurde, die versucht hat, ihn mit der dynamischen Planungsmethode zu implementieren, jedoch festgestellt hat, dass das Modul fehlte und die Implementierung schwierig wurde. Wenn Sie Fragen haben, hinterlassen Sie diese bitte in den Kommentaren.

Recommended Posts

Schreiben Sie ein Python-Programm, um die Bearbeitungsentfernung [Python] [Levenshtein-Entfernung] zu ermitteln.
Finden Sie die Bearbeitungsentfernung (Levenshtein-Entfernung) mit Python
Schreiben Sie ein Programm, um den 4x4x4 Rubik Cube zu lösen! 1. Übersicht
[Python] Ein Programm, um die Anzahl der Äpfel und Orangen zu ermitteln, die geerntet werden können
Schreiben Sie ein Programm, um den 4x4x4 Rubik Cube zu lösen! 2. Algorithmus
Schreiben Sie ein Programm, um den 4x4x4 Rubik Cube zu lösen! 3. Implementierung
Schreiben Sie ein Programm, das das Programm missbraucht und 100 E-Mails sendet
Schreiben Sie ein Skript, um die Entfernung mit dem Elasticsearch 5-System schmerzfrei zu berechnen
[Python] Eine einfache Funktion zum Ermitteln der Mittelkoordinaten eines Kreises
[Python] Ein Programm, das den Inhalt der Liste nach links dreht
Schreiben Sie den Test in die Python-Dokumentzeichenfolge
Schreiben Sie ein Caesar-Verschlüsselungsprogramm in Python
Verschiedene Kommentare im Programm zu schreiben
[Python] Ein Programm, das die Partitur rundet
Schreiben wir ein Programm zur Lösung des Rubik-Würfels (Teil 2: IDA * -Suche)
[Python] Ein Programm, das die Anzahl der gepaarten Socken berechnet
[Einführung in Python] So schreiben Sie eine Zeichenfolge mit der Formatierungsfunktion
Ich habe ein Programm erstellt, um die Größe einer Datei mit Python zu überprüfen
Tipps zum Schreiben werden in Python kurz abgeflacht
Warum muss Python einen Doppelpunkt schreiben?
Schreiben wir ein Python-Programm und führen es aus
[Einführung in den Algorithmus] Finden Sie den kürzesten Weg [Python3]
Python Amateur versucht die Liste zusammenzufassen ②
[Python] Finden Sie die Translokationsmatrix in Einschlussnotation
Ich möchte mit Python in eine Datei schreiben
[Python] Wirf eine Nachricht an den Slack-Kanal
[Circuit x Python] So ermitteln Sie die Übertragungsfunktion eines Schaltkreises mit Lcapy
Finden Sie das maximale Python
Überlegen Sie, wie Sie Python auf Ihrem iPad programmieren können
[Python] Ein Programm, das die Anzahl der Täler zählt
Schreiben Sie ein super einfaches molekulardynamisches Programm in Python
Ich möchte in Python schreiben! (2) Schreiben wir einen Test
So schreiben Sie einen Listen- / Wörterbuchtyp von Python3
Vom Kauf eines Computers bis zur Ausführung eines Programms auf Python
[Python] So schreiben Sie eine Dokumentzeichenfolge, die PEP8 entspricht
Schreiben Sie Daten mit dem Python-Anforderungsmodul in KINTONE
Ich möchte in Python schreiben! (3) Verwenden Sie Mock
[Python] Ein Memo zum vertikalen Schreiben von CSV mit Pandas
Python Gibt die Funktion an, die ausgeführt werden soll, wenn das Programm endet
Schreiben Sie in Python ein logarithmisches Histogramm auf die x-Achse
Schreiben Sie Code in UnitTest, eine Python-Webanwendung
[Python] Ein Programm, das die Positionen von Kängurus vergleicht.
Python Hinweis: Das Rätsel, einer Variablen eine Variable zuzuweisen
So finden Sie das erste Element, das den Kriterien in der Python-Liste entspricht
Python - Lesen Sie Daten aus einer numerischen Datendatei, um die verteilte, gemeinsam verteilte Matrix, Eigenwerte und Eigenvektoren zu finden
Finden Sie die scheinbare Breite einer Zeichenfolge in Python heraus
[Python] Ändern Sie den Namen der Bilddatei in eine Seriennummer
Führen Sie das Programm aus, ohne eine Python-Umgebung zu erstellen! !! (Erste Schritte mit Google Colaboratory)
Ein Weg zum mittleren Python
Finde Fehler in Python
So führen Sie ein Python-Programm in einem Shell-Skript aus
Verwendung der Methode __call__ in der Python-Klasse
Ändern Sie das Standardausgabeziel in eine Datei in Python
Wahrscheinlich der einfachste Weg, um mit Python 3 ein PDF zu erstellen
[Python] Kapitel 01-03 Über Python (Schreiben und Ausführen eines Programms mit PyCharm)
Ein Programm, das die für iOS-App-Symbole in Python erforderliche Bildgröße automatisch ändert
So starten Sie den PC jeden Morgen zu einer festgelegten Zeit und führen das Python-Programm aus
[Python] Programmieren, um die Nummer von a in einer Zeichenfolge zu finden, die eine bestimmte Anzahl von Malen wiederholt.
Rufen Sie die Excel-Liste rekursiv in einem bestimmten Ordner mit Python ab und schreiben Sie sie in Excel.