logo

Python-program for å finne skjæringspunktet mellom to lister

I denne opplæringen vil vi diskutere hvordan vi kan få skjæringspunktet mellom de to listene. Skjæringspunktet mellom to lister betyr at vi må få alle de kjente elementene til begge de første listene.

Python er kjent for sin utmerkede innebygde datastruktur. Python-listen er en av de kjente og verdifulle innebygde datatypene til Python. Den kan lagre de ulike datatypene i sortert rekkefølge. Det er imidlertid ingen innebygd funksjon for lister som sett.

dfs algoritme

Python gir de mange måtene å utføre skjæringspunktet mellom listene. La oss se følgende scenario.

Inndata:

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

Produksjon:

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

Inndata:

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

Produksjon:

 [9, 11, 26, 28] 

La oss se følgende metoder for å få skjæringspunktet mellom to lister.

Metode - 1: Bruk for loop

 # 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)) 

Produksjon:

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

Vi har brukt for loop for å få fellesverdien fra begge listene og lagret den i list3-variabelen.

Metode - 2: Konverter liste til sett

 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)) 

Produksjon:

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

Metode - 3:

Vi vil bruke det innebygde settet kryss() metode. De kryss() er en førsteklasses del av settet. La oss forstå følgende eksempel.

Eksempel -

prioritert kø java
 # 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)) 

Produksjon:

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

Metode - 4:

I denne metoden vil vi bruke hybridmetoden. Dette er en mye effektiv måte å utføre oppgaven på. La oss forstå følgende eksempel.

Eksempel -

 # 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)) 

Produksjon:

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

Metode - 5:

I denne metoden vil vi bruke filter() metode. Krysset utføres over underlister inne i andre lister. La oss forstå følgende eksempel.

Eksempel -

 # 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)) 

Produksjon:

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

De filter() metoden tar hvert element i underlisten og sjekker om det finnes i listen1. Listeforståelsen utføres for hver underliste i listen2.