Symmetrische Differenz zwischen Python-Listen

PythonPythonBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In Python ist die symmetrische Differenz zwischen zwei Mengen die Menge der Elemente, die in einer der beiden Mengen vorhanden sind, aber nicht in ihrem Schnittpunkt. In dieser Herausforderung werden Sie eine Funktion schreiben, die zwei Listen als Eingabe nimmt und ihre symmetrische Differenz zurückgibt.

Symmetrische Differenz

Schreiben Sie eine Funktion symmetric_difference(a, b), die zwei Listen als Argumente nimmt und ihre symmetrische Differenz als Liste zurückgibt. Die Funktion sollte doppelte Werte nicht filtern.

Um dieses Problem zu lösen, können Sie die folgenden Schritte ausführen:

  1. Erstellen Sie aus jeder Liste einen Satz.
  2. Verwenden Sie eine Listenkomprehension für jede von ihnen, um nur die Werte zu behalten, die nicht in der zuvor erstellten Menge der anderen Liste enthalten sind.
  3. Verketten Sie die beiden Listen, die in Schritt 2 erhalten wurden.
def symmetric_difference(a, b):
  (_a, _b) = (set(a), set(b))
  return [item for item in a if item not in _b] + [item for item in b
          if item not in _a]
symmetric_difference([1, 2, 3], [1, 2, 4]) ## [3, 4]

Zusammenfassung

In dieser Herausforderung haben Sie gelernt, wie man die symmetrische Differenz zwischen zwei Listen in Python findet. Sie haben auch gelernt, wie man Mengen und Listenkomprehensions verwenden, um dieses Problem zu lösen.