Python

Listenschnitt in Python

Listenschnitt in Python
In Python gibt es viele Objektvariablen, um eine Vielzahl von Datentypen zu speichern. Das aufführen ist eine dieser Variablen und kann verschiedene Arten von Daten für unterschiedliche Bedürfnisse speichern. Manchmal müssen wir zu Programmierzwecken allgemeine, ungewöhnliche oder sowohl allgemeine als auch ungewöhnliche Datenelemente aus den mehreren Listen finden. Python enthält mehrere integrierte Funktionen und Operatoren, die diese Arten von Aufgaben für Python-Sets ausführen können. Das Finden gemeinsamer Daten aus mehreren Listen wird als Listenschnittpunkt bezeichnet, aber es gibt keinen Operator oder eine integrierte Funktion für Listen wie Sets, um die gemeinsamen Datenelemente aus mehreren Listen zu finden. Dieses Tutorial zeigt Ihnen, wie man Listen in Python überschneidet.

Überschneidung

Bevor Sie mit diesem Tutorial beginnen, wird das Konzept der Kreuzung erläutert. Im Folgenden sind zwei beispielhaft aufgeführt:

Liste1 = [4, 7, 23, 9, 6, 11]
Liste2 = [6, 5, 1, 20, 9, 7, 4, 3]

Wenn das Ergebnis nach dem Anwenden der Schnittmenge in einer anderen Liste gespeichert ist, möglicherweise mit dem Namen List3, enthält sie die folgenden Daten.

Liste3 = [4, 6, 7, 9]

Die grafische Darstellung von List3 ist unten dargestellt:

Beispiel 1: Sich überschneidende Listen mit der Methode set()

Das folgende Beispiel zeigt, wie Sie zwei Listen mit dem schneiden können einstellen() Methode und die & Operator. Hier werden zwei Listen namens list1 und list2 deklariert. Beide Listen enthalten numerische Werte. Die dritte Liste wird erzeugt, indem Liste1 und Liste 2 über die Menge in die Menge umgewandelt werden() Methode und Anwenden von Schnittmengen unter Verwendung der & Operator. Als nächstes werden die Werte der drei Listen gedruckt.

#!/usr/bin/env python3
# Liste definieren1
Liste1 = [22, 8, 45, 11, 34, 9, 20, 7]
# Liste definieren2
Liste2 = [12, 9, 20, 78, 53, 8, 2, 30,31]
# Erstellen Sie list3, indem Sie list1 und list2 schneiden
list3 = list(set(list1) & set(list2))
# Liste drucken1
print("Die Werte von list1:\n",list1)
# Liste drucken2
print("Die Werte von list2:\n",list2)
# Liste drucken3
print("Die Werte von list3 nach dem Schnitt von list1 und list2:\n",list3)

Ausgabe

Die folgende Ausgabe erscheint nach dem Ausführen des Skripts. Drei Werte sind beiden Listen gemeinsam. Diese Werte sind 8, 9 und 20 und werden im Inhalt der dritten Liste angezeigt.

Beispiel 2: Listen überschneiden mit der Methode section()()

Es gibt keine direkte, integrierte Methode für das Listenobjekt, um die Schnittpunkte zwischen zwei Listen zu ermitteln. Das Set verfügt jedoch über eine integrierte Methode namens Überschneidung(), um die gemeinsamen Werte zwischen den Sätzen herauszufinden. Eine benutzerdefinierte Funktion namens Schnittlisten(), wird im folgenden Skript definiert, um die gemeinsamen Werte zwischen den beiden Listen herauszufinden. Eine Einschränkung dieses Sets besteht darin, dass es nur numerische Daten enthalten kann. Eine Listenvariable kann verschiedene Arten von Datenzeichenfolgen enthalten, einschließlich numerischer, boolescher usw. Im Skript, Liste1 und Liste2 enthalten alle String-Daten einschließlich und Text. Das Skript druckt alle gängigen String- und numerischen Werte zwischen Liste1 und Liste2.

#!/usr/bin/env python3
 
# Definieren Sie die Funktion, um den Schnittpunkt zweier Listen zurückzugeben
def Schnittlisten(liste1,liste2):
Rückgabesatz (Liste1).Kreuzung(Liste2)
 
# Liste definieren1
list1 = ['Hallo','7','8','10','2']
# Liste definieren2
list2 = ['8','34','Hallo','2','21','1',10]
"Rufen Sie die benutzerdefinierte Funktion zum Speichern auf
das Schnittergebnis von list1 und list2
in Liste3"
list3 = intersectLists(list1, list2)
# Liste drucken1
print("Die Werte von list1:\n",list1)
# Liste drucken2
print("Die Werte von list2:\n",list2)
# Liste drucken3
print("Die Werte von list3 nach dem Schnitt von list1 und list2:\n",list3)

Ausgabe

Die folgende Ausgabe erscheint nach dem Ausführen des Skripts. Hier sind die gemeinsamen Werte zwischen den beiden Listen '2', '8' und 'Hallo.'

Beispiel 3: Listen überschneiden mit der Schleifenmethode

Die beiden vorherigen Beispiele zeigen Listenschnittpunkte mit integrierten Funktionen. Das folgende Beispiel zeigt Listenschnittpunkte ohne eingebaute Funktion. Dies kann durch die Verwendung der Schleife erreicht werden. Im Skript sind zwei Listen mit Textdaten deklariert. Das zum loop wird hier verwendet, um die gemeinsamen Textwerte zwischen . herauszufinden Liste1 und Liste2, und die in der Variablen gespeichert sind, Liste3. Als nächstes werden die Werte dieser drei Listenvariablen gedruckt.

#!/usr/bin/env python3
 
# Liste definieren1
list1 = ['Farhan','Abir','Akash','Meena','Mazher']
# Liste definieren2
list2 = ['Meena','Moyna','Nobel','Naher','Abir','Farheen']
# Finden Sie den Schnittpunkt mit der for-Schleife und speichern Sie das Ergebnis in list3
list3 = [Wert für Wert in Liste1 wenn Wert in Liste2]
 
# Liste drucken1
print("Die Werte von list1:\n",list1)
# Liste drucken2
print("Die Werte von list2:\n",list2)
# Liste drucken3
print("Die Werte von list3 nach dem Schnitt von list1 und list2:\n",list3)

Ausgabe

Die folgende Ausgabe erscheint nach dem Ausführen des Skripts. Hier sind die gemeinsamen Textwerte der beiden Listen 'Abir' und 'Meena.'

Beispiel 4: Überschneiden von einfachen und verschachtelten Listen mit der Methode filter()

Das folgende Beispiel zeigt die Schnittmenge zwischen einer einfachen Liste und einer verschachtelten Liste. Das Filter() Methode und Lambda -Funktion werden im Skript verwendet, um die Schnittmenge zwischen  list1 und list2 durchzuführen. Wenn eine Liste eine oder mehrere Listen als Listenelemente enthält, wird die Liste als verschachtelte Liste bezeichnet. Hier, Liste1 ist eine einfache Liste, und Liste2 ist eine verschachtelte Liste, während Liste3 enthält die Schnittwerte von Liste1 und Liste2.

#!/usr/bin/env python3
 
# Definiere eine einfache Liste
Liste1 = [22, 8, 45, 11, 34, 9, 20, 7]
# Definiere eine verschachtelte Liste
Liste2 = [[12, 9, 20], [78, 11, 53, 8], [2, 30, 31, 45]]
# Erstellen Sie list3, indem Sie list1 und list2 mit filter() schneiden
list3 = [list(filter(lambda n: n in list1, slist)) für slist in list2]
 
# Liste drucken1
print("Die Werte von list1:\n",list1)
# Liste drucken2
print("Die Werte von list2:\n",list2)
# Liste drucken3
print("Die Werte von list3 nach dem Schnitt von list1 und list2:\n",list3)

Ausgabe

Die folgende Ausgabe erscheint nach dem Ausführen des Skripts. Die Variable list2 enthält drei weitere Listen als Listenelemente. Das Ergebnis zeigt also die Schnittmenge zwischen diesen drei Unterlisten von list2 mit list1.

Fazit

Listenschnittpunkte sind eine nützliche Methode, um die gemeinsamen Werte zwischen Listen zu finden, die eine große Anzahl von Listenelementen enthalten. Methoden zum Durchführen von Listenschnitten mit und ohne integrierte Funktionen werden in diesem Tutorial gezeigt shown. Nachdem Sie diesen Artikel gelesen haben, sollte das Konzept der Listenüberschneidung klar sein, und Sie sollten in der Lage sein, Listenüberschneidungen in Ihrem Skript anzuwenden, indem Sie den in diesem Tutorial gezeigten Wegen folgen.

Linker Mausklick funktioniert nicht unter Windows 10
Wenn Sie eine dedizierte Maus mit Ihrem Laptop oder Desktop-Computer verwenden, aber die linker Mausklick funktioniert nicht unter Windows 10/8/7 aus ...
Cursor springt oder bewegt sich zufällig während der Eingabe in Windows 10
Wenn Sie feststellen, dass Ihr Mauszeiger während der Eingabe auf einem Windows-Laptop oder -Computer automatisch und zufällig springt oder sich von s...
So kehren Sie die Scrollrichtung von Maus und Touchpads in Windows 10 um
Maus und Touchpads machen das Rechnen nicht nur einfach, sondern auch effizienter und weniger zeitaufwendig. Wir können uns ein Leben ohne diese Gerät...