Python | Intersection of two lists

01 Sep, 2021
Intersection of two list means we need to take all those elements which are common to both of the initial lists and store them into another list. Now there are various ways in Python, through which we can perform the Intersection of the lists. Examples:  
Input : 
lst1 = [15, 9, 10, 56, 23, 78, 5, 4, 9]
lst2 = [9, 4, 5, 36, 47, 26, 10, 45, 87]
Output :
[9, 10, 4, 5]

Input :
lst1 = [4, 9, 1, 17, 11, 26, 28, 54, 69]
lst2 = [9, 9, 74, 21, 45, 11, 63, 28, 26]
Output :
[9, 11, 26, 28]
 
Method 1: This is the simplest method where we haven’t used any built-in functions.  
Python3
# Python program to illustrate the intersection# of two lists in most simple waydef intersection(lst1, lst2):    lst3 = [value for value in lst1 if value in lst2]    return lst3 # Driver Codelst1 = [4, 9, 1, 17, 11, 26, 28, 54, 69]lst2 = [9, 9, 74, 21, 45, 11, 63, 28, 26]print(intersection(lst1, lst2))
Output:  
[9, 11, 26, 28]
Method 2: This method includes the use of set() method.  
Python3
# Python program to illustrate the intersection# of two lists using set() methoddef intersection(lst1, lst2):    return list(set(lst1) & set(lst2)) # Driver Codelst1 = [15, 9, 10, 56, 23, 78, 5, 4, 9]lst2 = [9, 4, 5, 36, 47, 26, 10, 45, 87]print(intersection(lst1, lst2))
Output:  
[9, 10, 4, 5]
Method 3: In this method we set() the larger list and then use the built-in function called intersection() to compute the intersected list. intersection() is a first-class part of set.  
Python3
# Python program to illustrate the intersection# of two lists using set() and intersection()def Intersection(lst1, lst2):    return set(lst1).intersection(lst2)     # Driver Codelst1 = [ 4, 9, 1, 17, 11, 26, 28, 28, 26, 66, 91]lst2 = [9, 9, 74, 21, 45, 11, 63]print(Intersection(lst1, lst2))
Output:  
{9, 11}
Method 4: By the use of this hybrid method the complexity of the program falls to O(n). This is an efficient way of doing the following program.  
Python3
# Python program to illustrate the intersection# of two listsdef intersection(lst1, lst2):     # Use of hybrid method    temp = set(lst2)    lst3 = [value for value in lst1 if value in temp]    return lst3 # Driver Codelst1 = [9, 9, 74, 21, 45, 11, 63]lst2 = [4, 9, 1, 17, 11, 26, 28, 28, 26, 66, 91]print(intersection(lst1, lst2))
Output:  
[9, 9, 11]
Method 5: This is the where the intersection is performed over sub-lists inside other lists. Here we have used the concept of filter().  
Python3
# Python program to illustrate the intersection# of two lists, sublists and use of filter()def intersection(lst1, lst2):    lst3 = [list(filter(lambda x: x in lst1, sublist)) for sublist in lst2]    return lst3 # Driver Codelst1 = [1, 6, 7, 10, 13, 28, 32, 41, 58, 63]lst2 = [[13, 17, 18, 21, 32], [7, 11, 13, 14, 28], [1, 5, 6, 8, 15, 16]]print(intersection(lst1, lst2))
Working: The filter part takes each sublist’s item and checks to see if it is in the source list. The list comprehension is executed for each sublist in list2. Output:  
[[13, 32], [7, 13, 28], [1, 6]]
 
sagar0719kumar
Python list-programs
python-list
Python
python-list
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Python Dictionary
Different ways to create Pandas Dataframe
Enumerate() in Python
Read a file line by line in Python
Python String | replace()
How to Install PIP on Windows ?
*args and **kwargs in Python
Python Classes and Objects
Python OOPs Concepts
Iterate over a list in Python