logo

Python-program för att hitta skärningspunkten mellan två listor

I den här handledningen kommer vi att diskutera hur vi kan få skärningspunkten mellan de två listorna. Skärningen av två listor betyder att vi måste få alla bekanta element till båda de initiala listorna.

Pytonorm är känt för sin utmärkta inbyggda datastruktur. Python-listan är en av de berömda och värdefulla inbyggda datatyperna i Python. Den kan lagra de olika datatypernas värde i sorterad ordning. Det finns dock ingen inbyggd funktion för listor som set.

villkorlig operatör i java

Python tillhandahåller många sätt att utföra korsningen av listorna. Låt oss se följande scenario.

Inmatning :

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

Produktion:

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

Inmatning :

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

Produktion:

 [9, 11, 26, 28] 

Låt oss se följande metoder för att få skärningspunkten mellan två listor.

Metod - 1: Använd för 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)) 

Produktion:

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

Vi har använt for loop för att få det gemensamma värdet från båda listorna och lagrat det i list3-variabeln.

Metod - 2: Konvertera lista till set

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

Produktion:

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

Metod - 3:

Vi kommer att använda de inbyggda seten genomskärning() metod. De genomskärning() är en förstklassig del av uppsättningen. Låt oss förstå följande exempel.

Exempel -

jämföra i 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)) 

Produktion:

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

Metod - 4:

I denna metod kommer vi att använda hybridmetoden. Detta är ett mycket effektivt sätt att utföra uppgiften. Låt oss förstå följande exempel.

Exempel -

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

Produktion:

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

Metod - 5:

I den här metoden kommer vi att använda filtrera() metod. Korsningen utförs över underlistor i andra listor. Låt oss förstå följande exempel.

Exempel -

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

Produktion:

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

De filtrera() metoden tar varje objekt i underlistan och kontrollerar om det finns i listan1. Listförståelsen exekveras för varje underlista i listan2.