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
Barbara StreisandOriginal
2024-12-21 13:38:09661Durchsuche

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']

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']

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))

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}

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}

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!

Stellungnahme:
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