Heim > Artikel > Backend-Entwicklung > Python-Programm zur Berechnung der symmetrischen Differenz zwischen zwei Listen
In Python können Sie Listen verwenden, um mehrere Elemente in einer einzigen Variablen zu speichern. Einer der vier integrierten Datentypen in Python zum Speichern von Datensammlungen ist eine Liste; die anderen drei sind Tupel, Mengen und Wörterbücher, jeder mit einem einzigartigen Zweck.
Eckige Klammern werden zum Erstellen von Listen verwendet. Die leistungsstärksten Werkzeuge in Python sind Listen, da sie nicht unbedingt homogen sind. Datentypen wie Ganzzahlen, Zeichenfolgen und Objekte können alle in einer Liste gefunden werden. Da Listen veränderbar sind, können sie auch nach ihrer Erstellung geändert werden.
Die Menge der Elemente, die in LIST1 oder LIST2, aber nicht in beiden enthalten sind, stellt den symmetrischen Unterschied zwischen den beiden Listen LIST1 und LIST2 dar.
Es gibt mehrere Möglichkeiten, den symmetrischen Unterschied zwischen zwei Listen in Python zu berechnen. Wir werden den effizientesten Weg wählen, um den gleichen Unterschied zu ermitteln.
Wir haben Listen in Mengen umgewandelt und dann symmetrische Unterschiede zwischen diesen Mengen vorgenommen.
Erstellen Sie eine Liste
Liste in Satz konvertieren
Drucken Sie die Symmetriedifferenz des konvertierten Satzes aus
Drucken Sie die symmetrische Differenz der Liste aus
Im Programm unten können wir mit „in“ den Unterschied zwischen zwei Listen ermitteln. Das Schlüsselwort in hat zwei Funktionen.
Bestimmen Sie, ob ein Wert in einer Zeichenfolge, Liste, einem Tupel, einem Bereich usw. vorhanden ist.
Durchlaufen Sie die Liste wiederholt in einer for-Schleife.
L_1 = [11, 12, 13] L_2 = [12, 13, 42] L_3 = [3, 42, 5] # converting lists to set set_1 = set(L_1) set_2 = set(L_2) # now print the symmetric difference when # when the converted set is passed as a parameter print(set_1.symmetric_difference(set_2)) # now print the symmetric difference when list is # passed as a parameter by converting it to a set print(set_2.symmetric_difference(L_3))
{42, 11} {13, 3, 12, 5}
Hier erstellen wir zwei Listen und erstellen dann eine leere temporäre Variable. Anschließend verwenden wir eine for-Schleife, um die Zahlen in der Liste zu durchlaufen. Die If-Anweisung prüft, ob die Zahl häufig vorkommt, und hängt das Element dann an die erste erstellte temporäre Variable an. Drucken Sie dann die Liste mit verschiedenen Elementen aus.
list_1 = [1, 35, 20, 25, 70, 35, 80] list_2 = [25, 80, 35] temp_3 = [] for element in list_1: if element not in list_2: temp_3.append(element) print(temp_3)
[1, 20, 70]
Bei dieser Methode konvertieren wir die Liste explizit in eine Menge und verwenden dann den Subtraktionsoperator, um nur eine aus der anderen Liste zu entfernen. Gehen Sie zu „Sammlungen“ in Python, um weitere Sammlungsreferenzen zu erhalten. Dies ist eine ähnliche Strategie wie die, die wir zuvor verwendet haben. Der einzige Unterschied besteht darin, dass anstelle verschachtelter Schleifen eine Listenverständnissyntax verwendet wird.
Das folgende Programm vergleicht zwei Listen: list_1 und list_2. Es erstellt einen Satz aus der zweiten Liste und filtert damit alle Werte heraus, die in beiden Listen erscheinen. Das Ergebnis ist eine neue gefilterte Liste (temp_3), die nur Elemente aus list_1 enthält, die nicht in SET_1 (list_2) vorhanden sind.
list_1 = [13, 15, 22, 25, 30, 54, 40] list_2 = [54, 45, 30, 13] SET_1 = set(list_2) temp_3 = [x for x in list_1 if x not in SET_1] print(temp_3)
[15, 22, 25, 40]
Bei dieser Methode werden Elemente mithilfe grundlegender Kombinationstechniken aus zwei Listen kopiert und dabei regelmäßig überprüft, ob sie in der anderen Liste vorhanden sind.
Im folgenden Programm definieren wir eine Funktion namens Difference, die zwei Listen als Parameter akzeptiert. Diese Funktion erstellt eine neue Liste list_dif, die Elemente enthält, die nicht in beiden Originallisten vorhanden sind. Anschließend werden diese neue Liste und die Differenz zwischen den beiden ursprünglichen Listen ausgedruckt. In diesem Beispiel wird [1, 12, 25, 22, 30, 20] gedruckt.
# this method helps to get difference of two lists # by not using set() def Difference(list1, list2): list_dif = [i for i in list_1 + list_2 if i not in list_1 or i not in list_2] return list_dif list_1 = [1, 12, 25, 22, 30, 65, 70] list_2 = [65, 20, 70] list_3 = Difference(list_1, list_2) print(list_3)
[1, 12, 25, 22, 30, 20]
Symmetrydifference() gibt das Element in der ersten oder zweiten Gruppe zurück. Im Gegensatz zu gemeinsam genutzten Elementen zweier Sammlungen gibt diese Methode keinen Schnittpunkt zurück.
list_1 = [23, 18, 45, 25, 40, 23, 40] list_2 = [23, 40, 35] set_difference = set(list_1).symmetric_difference(set(list_2)) temp_3 = list(set_difference) print(temp_3)
[35, 45, 18, 25]
In diesem Artikel haben wir vier verschiedene Methoden verwendet, um die symmetrische Differenz zwischen zwei Listen über Python zu berechnen. Jede Methode hat eine gewisse Einzigartigkeit und eine andere Herangehensweise an die Aufgabe.
Das obige ist der detaillierte Inhalt vonPython-Programm zur Berechnung der symmetrischen Differenz zwischen zwei Listen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!