logo

Python-Programm zum Finden der Schnittmenge zweier Listen

In diesem Tutorial besprechen wir, wie wir den Schnittpunkt der beiden Listen ermitteln können. Der Schnittpunkt zweier Listen bedeutet, dass wir alle bekannten Elemente in beide Anfangslisten aufnehmen müssen.

Python ist bekannt für seine hervorragende integrierte Datenstruktur. Die Python-Liste ist einer der bekanntesten und wertvollsten integrierten Datentypen von Python. Es kann die verschiedenen Datentypwerte in sortierter Reihenfolge speichern. Es gibt jedoch keine integrierte Funktion für Listen wie Sets.

Programm in Java

Python bietet viele Möglichkeiten, die Schnittmenge der Listen durchzuführen. Sehen wir uns das folgende Szenario an.

Eingabe:

 list1 = [40, 90, 11, 58, 31, 66, 28, 54, 79] list2 = [58, 90, 54, 31, 45, 11, 66, 28, 26] 

Ausgabe:

 [90, 11, 58, 31, 66, 28, 54] 

Eingabe:

 list1 = [4, 9, 1, 17, 11, 26, 28, 54, 69] list2 = [9, 9, 74, 21, 45, 11, 63, 28, 26] 

Ausgabe:

 [9, 11, 26, 28] 

Sehen wir uns die folgenden Methoden an, um den Schnittpunkt zweier Listen zu ermitteln.

Methode - 1: Verwendung einer for-Schleife

 # Python program to get the intersection # of two lists in most simple way def intersection_list(list1, list2): list3 = [value for value in list1 if value in list2] return list3 # Driver Code list1 = [40, 90, 11, 58, 31, 66, 28, 54, 79] list2 = [58, 90, 54, 31, 45, 11, 66, 28, 26] print(intersection_list(list1, list2)) 

Ausgabe:

 [90, 11, 58, 31, 66, 28, 54] 

Wir haben eine for-Schleife verwendet, um den gemeinsamen Wert aus beiden Listen abzurufen und ihn in der Variablen list3 zu speichern.

Methode - 2: Liste in Set konvertieren

 def intersection_list(list1, list2): return list(set(list1) & set(list2)) list1 = [40, 90, 11, 58, 31, 66, 28, 54, 79] list2 = [58, 90, 54, 31, 45, 11, 66, 28, 26] print(intersection_list(list1, list2)) 

Ausgabe:

 [66, 90, 11, 54, 58, 28, 31] 

Methode - 3:

Wir werden die eingebauten Sets verwenden Überschneidung() Methode. Der Überschneidung() ist ein erstklassiger Bestandteil des Sets. Lassen Sie uns das folgende Beispiel verstehen.

Beispiel -

Java if else-Anweisung
 # Python program to get the intersection # of two lists using set() and intersection() def intersection_list(list1, list2): return set(list1).intersection(list2) list1 = [40, 90, 11, 58, 31, 66, 28, 54, 79] list2 = [58, 90, 54, 31, 45, 11, 66, 28, 26] print(intersection_list(list1, list2)) 

Ausgabe:

 {66, 90, 11, 54, 58, 28, 31} 

Methode - 4:

Bei dieser Methode verwenden wir die Hybridmethode. Dies ist eine sehr effiziente Möglichkeit, die Aufgabe auszuführen. Lassen Sie uns das folgende Beispiel verstehen.

Beispiel -

 # Python program to get the intersection # of two lists def intersection(list1, list2): # Use of hybrid method temp = set(list2) list3 = [value for value in list1 if value in temp] return list3 list1 = [40, 90, 11, 58, 31, 66, 28, 54, 79] list2 = [58, 90, 54, 31, 45, 11, 66, 28, 26] print(intersection(list1, list2)) 

Ausgabe:

 [90, 11, 58, 31, 66, 28, 54] 

Methode - 5:

Bei dieser Methode verwenden wir die Filter() Methode. Die Schnittmenge wird über Unterlisten innerhalb anderer Listen durchgeführt. Lassen Sie uns das folgende Beispiel verstehen.

Beispiel -

 # Python program togetthe intersection # of two lists, sublists and use of filter() def intersection_list(list1, list2): list3 = [list(filter(lambda x: x in list1, sublist)) for sublist in list2] return list3 list1 = [10, 9, 17, 40, 23, 18, 56, 49, 58, 60] list2 = [[25, 17, 23, 40, 32], [1, 10, 13, 27, 28], [60, 55, 61, 78, 15, 76]] print(intersection_list(list1, list2)) 

Ausgabe:

 [[17, 23, 40], [10], [60]] 

Der Filter() Die Methode nimmt jedes Element der Unterliste und prüft, ob es in der Liste1 vorhanden ist. Das Listenverständnis wird für jede Unterliste in der Liste2 ausgeführt.