So subtrahieren Sie Listen in Python
Bei der Arbeit mit Listen gibt es Situationen, in denen Sie möglicherweise eine Liste von einer anderen subtrahieren müssen. Beim Subtrahieren von Listen in Python geht es darum, Elemente zu identifizieren, die in einer Liste vorhanden sind, in der anderen jedoch nicht.
Verwenden des Listenverständnisses
Ein einfacher Ansatz ist die Verwendung des Listenverständnisses. Durch Durchlaufen der ersten Liste (x) können Sie eine neue Liste erstellen, die nur Elemente enthält, die in der zweiten Liste (y) nicht vorhanden sind:
<code class="python">[item for item in x if item not in y]</code>
Diese Methode behält die ursprüngliche Reihenfolge von x bei, während Elemente ausgeschlossen werden gefunden in y.
Differenz festlegen
Wenn Ihnen die Beibehaltung von Listeneigenschaften (z. B. Reihenfolge) nicht wichtig ist, können Sie die Operation „Differenz festlegen“ nutzen. Sets sind ungeordnete Sammlungen, daher verwerfen sie Duplikate. So führen Sie eine Mengendifferenz durch:
<code class="python">list(set(x) - set(y))</code>
Diese Methode gibt eine Liste mit Elementen zurück, die für die erste Liste eindeutig sind.
Überschreibende sub Methode
Aus Gründen der syntaktischen Vereinfachung können Sie eine benutzerdefinierte Klasse definieren, die von der Liste erbt und die sub-Methode überschreibt:
<code class="python">class MyList(list): def __sub__(self, other): return self.__class__(*[item for item in self if item not in other])</code>
Mit dieser Klasse können Sie die Infix-Subtraktion verwenden :
<code class="python">x = MyList(1, 2, 3, 4) y = MyList(2, 5, 2) z = x - y # Subtracts y from x and assigns to z</code>
Das obige ist der detaillierte Inhalt vonWie können Sie Listen in Python subtrahieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!