Heim  >  Artikel  >  Backend-Entwicklung  >  Wie können Sie Listen in Python subtrahieren?

Wie können Sie Listen in Python subtrahieren?

DDD
DDDOriginal
2024-10-23 12:19:30190Durchsuche

How Can You Subtract Lists in Python?

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!

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