Kann bitte jemand erklären das Verhalten der get_matching_blocks()? Für das folgende Beispiel:Wie funktioniert das get_matching_blocks()?
string2 = "1234 abc efg"
string1 = "efg abc 1234"
match = SequenceMatcher(None, string1, string2).get_matching_blocks()
print(match)
es gibt das folgende Ergebnis [Match(a=3, b=4, size=5), Match(a=12, b=12, size=0)]
was bedeutet, dass es
Warum es nicht zurück auch die Teilfolgen „1234“ und „efg nur die Teilfolge„abc“findet "?
Warum ist 'abc' das Ergebnis? Sollte 'efg' nicht die erste gefundene Sequenz sein? –
@ Ame.Lia was passiert, wenn Sie die Argumente umkehren? –
für Übereinstimmung = SequenceMatcher (None, string2, string1) .get_matching_blocks() Ich erhalte wieder die gleiche allgemeine Zeichenfolge, "abc". Das ist die Ausgabe: [Match (a = 4, b = 3, size = 5), Match (a = 12, b = 12, size = 0)] –