Heim > Backend-Entwicklung > Python-Tutorial > Wie berechnet man den Unterschied zwischen zwei Listen in Python?

Wie berechnet man den Unterschied zwischen zwei Listen in Python?

Linda Hamilton
Freigeben: 2024-10-23 14:40:06
Original
350 Leute haben es durchsucht

How to Compute the Difference Between Two Lists in Python?

Subtraktion von Listen

Das Ziel besteht darin, die Differenz zwischen zwei Listen x und y zu berechnen, was zu einer neuen Liste führt, die Elemente aus x enthält, die in nicht vorhanden sind y.

Lösung 1: Listenverständnis

Um die ursprüngliche Reihenfolge von x beizubehalten, verwenden Sie ein Listenverständnis, um zu überprüfen, welche Elemente nicht in y sind:

<code class="python">[item for item in x if item not in y]</code>
Nach dem Login kopieren

Lösung 2: Differenz festlegen

Wenn die Reihenfolge der Elemente in der resultierenden Liste nicht wichtig ist, kann eine festgelegte Differenz verwendet werden:

<code class="python">list(set(x) - set(y))</code>
Nach dem Login kopieren

Lösung 3: Überschreiben von sub

Um die Infix-x-y-Syntax für die Listensubtraktion zu aktivieren, kann eine benutzerdefinierte Klasse erstellt werden, die die __sub__-Methode überschreibt, um das gewünschte Verhalten zu implementieren:

<code class="python">class MyList(list):
    def __sub__(self, other):
        return self.__class__(*[item for item in self if item not in other])</code>
Nach dem Login kopieren

Mit dieser Klasse wird die Subtraktion durchgeführt kann wie folgt durchgeführt werden:

<code class="python">x = MyList(1, 2, 3, 4)
y = MyList(2, 5, 2)
z = x - y   </code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie berechnet man den Unterschied zwischen zwei Listen in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
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