In der Python-Programmierung ist der Vergleich zweier Listen eine häufige Aufgabe mit mehreren Ansätzen. In diesem Artikel werden verschiedene Methoden zum Ermitteln der Unähnlichkeit zwischen zwei Listen untersucht und Ihre Kenntnisse im Umgang mit Listen und beim Datenvergleich verbessert Python . Begleiten Sie uns auf dieser aufschlussreichen Reise zu verschiedenen Strategien zur Erkennung von Unterschieden zwischen Listen.
Beispiel
Input: list1 = [10, 15, 20, 25, 30, 35, 40] list2 = [25, 40, 35] Output: [10, 15, 20, 30] Explanation: resultant list = list1 - list2>
Notiz: Wenn Sie mehrere gleiche Elemente haben, funktioniert dies nicht. In diesem Fall entfernt dieser Code einfach dieselben Elemente.
In diesem Fall können Sie die Anzahl jedes Elements in beiden Listen verwalten.
Möglichkeiten zum Vergleichen zweier Listen in Python
Es gibt verschiedene Möglichkeiten, zwei Listen in Python zu vergleichen. Hier diskutieren wir einige allgemein verwendete Methoden zum Vergleichen zweier Listen in Python, die im Folgenden aufgeführt sind.
- Verwendung in Methode
- Verwendung des Listenverständnisses
- Verwenden Satz() Funktion
- Verwenden Numpy
- Benutzen Reißverschluss() Funktion
- Zählen Sie Vorkommen mit Schalter
Python im Schlüsselwort zum Vergleichen zweier Listen in Python
In diesem Beispiel durchläuft der Code die Elemente in der Liste „li1“ und hängt jedes Element an „temp3“ an, wenn es nicht in der Liste „li2“ vorhanden ist. Das Endergebnis in „temp3“ enthält Elemente aus „li1“, die in „li2“ nicht vorhanden sind.
Python3
li1> => [> 10> ,> 15> ,> 20> ,> 25> ,> 30> ,> 35> ,> 40> ]> li2> => [> 25> ,> 40> ,> 35> ]> temp3> => []> for> element> in> li1:> > if> element> not> in> li2:> > temp3.append(element)> print> (temp3)> |
>
>
Ausgabe
[10, 15, 20, 30]>
Unterschied zwischen zwei Listen in Python mithilfe eines Listenverständnisses
In diesem Beispiel erstellt der Code eine Menge „s“ aus den Elementen der Liste „li2“ und generiert dann eine neue Liste „temp3“, die Elemente aus der Liste „li1“ enthält, die in der Menge „s“ nicht vorhanden sind. Schließlich werden die Elemente in „temp3“ gedruckt.
Python3
c Boolescher Wert
li1> => [> 10> ,> 15> ,> 20> ,> 25> ,> 30> ,> 35> ,> 40> ]> li2> => [> 25> ,> 40> ,> 35> ]> s> => set> (li2)> temp3> => [x> for> x> in> li1> if> x> not> in> s]> print> (temp3)> |
>
>
Ausgabe
[10, 15, 20, 30]>
Finden Sie den Unterschied zwischen zwei Listen in Python mit set()
Bei dieser Methode konvertieren wir die Listen explizit in Mengen und reduzieren sie dann einfach mithilfe des Subtraktionsoperators voneinander. Weitere Referenzen finden Sie am Set Setzt in Python . Es ist eine ähnliche Technik, die wir zuvor verwendet haben. Der einzige Unterschied besteht darin, dass wir die verschachtelten Schleifen durch die ersetzt haben Listenverständnis Syntax.
Schakal gegen Wolf
Python3
li1> => [> 10> ,> 15> ,> 20> ,> 25> ,> 30> ,> 35> ,> 40> ]> li2> => [> 25> ,> 40> ,> 35> ]> s> => set> (li2)> temp3> => [x> for> x> in> li1> if> x> not> in> s]> print> (temp3)> |
>
>
Ausgabe
[10, 15, 20, 30]>
Verwenden Sie Numpy, um Vergleichen Sie zwei Listen in Python
Der numpy.concatenate() Die Funktion verkettet eine Folge von Arrays entlang einer vorhandenen Achse. In diesem Beispiel verwendet der Code NumPy, um die Arrays „li1“ und „li2“ zu erstellen, findet die Mengenunterschiede zwischen ihnen („dif1“ und „dif2“), verkettet diese Unterschiede in einer einzigen Liste („temp3“) und druckt sie schließlich aus Ergebnis.
Python3
partielle Ableitungen in Latex
import> numpy as np> li1> => np.array([> 10> ,> 15> ,> 20> ,> 25> ,> 30> ,> 35> ,> 40> ])> li2> => np.array([> 25> ,> 40> ,> 35> ])> dif1> => np.setdiff1d(li1, li2)> dif2> => np.setdiff1d(li2, li1)> temp3> => np.concatenate((dif1, dif2))> print> (> list> (temp3))> |
>
>
Ausgabe
[10, 15, 20, 30]>
Vergleichen Sie zwei Listen in Python mit der Funktion zip()
In diesem Beispiel vergleicht der Code entsprechende Elemente der beiden Listen li1 und li2 und erstellt eine Liste mit booleschen Werten, die angeben, ob die Elemente gleich sind. Die Funktion „all“ prüft, ob alle Elemente in der Ergebnisliste True sind.
Python3
li1> => [> 10> ,> 15> ,> 20> ]> li2> => [> 25> ,> 40> ,> 35> ]> result> => [a> => => b> for> a, b> in> zip> (li1, li2)]> print> (> all> (result))> |
>
>
Ausgabe
False>
Vergleichen Sie zwei Listen mithilfe der Anzahl der Vorkommen mithilfe des Zählers
In diesem Beispiel verwendet der Code die Klasse „Counter“ aus dem Modul „collections“, um Häufigkeitszähler für zwei Listen zu erstellen, „li1“ und „li2“. Anschließend vergleicht es die Zähler, um zu prüfen, ob die Listen dieselben Elemente mit denselben Häufigkeiten enthalten, und weist das Ergebnis „are_lists_equal“ zu.
Python3
from> collections> import> Counter> li1> => [> 10> ,> 15> ,> 20> ,> 25> ,> 30> ,> 35> ,> 40> ]> li2> => [> 25> ,> 40> ,> 35> ]> counter1> => Counter(li1)> counter2> => Counter(li2)> are_lists_equal> => counter1> => => counter2> print> (are_lists_equal)> |
>
>
Ausgabe
Jahr in Quartale
False>