Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich die eindeutigen Unterschiede zwischen zwei Listen in Python effizient finden?

Wie kann ich die eindeutigen Unterschiede zwischen zwei Listen in Python effizient finden?

Barbara Streisand
Freigeben: 2024-12-21 13:38:09
Original
657 Leute haben es durchsucht

How Can I Efficiently Find the Unique Differences Between Two Lists in Python?

Eindeutige Unterschiede zwischen Listen finden

Beim Umgang mit mehreren Listen ist es oft notwendig, diese zu vergleichen und die Unterschiede in ihren Elementen zu identifizieren. In Python besteht eine effiziente Möglichkeit, dies zu tun, darin, die Mengendifferenz zwischen zwei Listen zu ermitteln.

Beispiel:

Betrachten Sie die folgenden zwei Listen mit eindeutigen Elementen:

temp1 = ['One', 'Two', 'Three', 'Four']
temp2 = ['One', 'Two']
Nach dem Login kopieren

Ziel:

Eine dritte Liste erstellen (temp3) das die Elemente aus temp1 enthält, die in temp2 nicht vorhanden sind. In diesem Fall lautet die erwartete Ausgabe:

temp3 = ['Three', 'Four']
Nach dem Login kopieren

Lösung:

Um die Verwendung von Schleifen oder expliziten Vergleichen zu vermeiden, kann der festgelegte Datentyp genutzt werden, um effizient zu finden Unterschied zwischen den beiden Listen:

temp3 = list(set(temp1) - set(temp2))
Nach dem Login kopieren

Erklärung:

  1. set(temp1) wandelt temp1 in einen Satz um, der eine ungeordnete Sammlung eindeutiger Elemente ist.
  2. set(temp2) erstellt einen weiteren Satz aus temp2.
  3. set(temp1) - set(temp2) führt eine Mengendifferenzoperation aus, die die in set(temp2) vorhandenen Elemente aus set(temp1) entfernt.
  4. Die resultierende Menge wird mithilfe von list() wieder in eine Liste konvertiert, um die Reihenfolge der Elemente beizubehalten .

Asymmetrie in der Mengendifferenz:

Beachten Sie, dass die Mengendifferenz nicht vorhanden ist kommutativ. Das bedeutet, dass set(temp1) - set(temp2) nicht unbedingt gleich set(temp2) - set(temp1) ist. Zum Beispiel:

set([1, 2]) - set([2, 3]) == {1}
set([2, 3]) - set([1, 2]) == {3}
Nach dem Login kopieren

Wenn das gewünschte Ergebnis darin besteht, Elemente einzuschließen, die für beide Mengen eindeutig sind, kann die Methode symmetric_difference() verwendet werden:

set([1, 2]).symmetric_difference(set([2, 3])) == {1, 3}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich die eindeutigen Unterschiede zwischen zwei Listen in Python effizient finden?. 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