Change language

Python | Intersection of two lists

The intersection of two lists means that we need to take all those elements that are common to both initial lists and store them in another list. Now in Python there are various ways in which we can perform list intersection. 
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 functionality.

# Python program to illustrate intersection
# of two lists in the simplest way

def intersection (lst1, lst2):

lst3 = [value for value in lst1   if value in lst2]

return lst3

 
Driver code

lst1 = [ 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 involves using the set () method.

# Prog Python frame to illustrate intersection
# of two lists using the set () method

def intersection (lst1, lst2):

return list ( set (lst1) & amp;  set (lst2))

 
Driver code

lst1 = [ 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 interscetion () function to calculate the overlapping list.  Intersection () is the first class part of the set.

# Python program to illustrate intersection
# from two lists using set () and intersection ()

def Intersection (lst1, lst2):

return set (lst1) .intersection (lst2)

  
Driver code

lst1 = [ 4 , 9 , 1 , 17  , 11 , 26 , 28 , 28 , 26 , 66 , 91 ]

lst2 = [ 9 , 9 , 74 , 21 , 45 , 11 , 63 ]

print (Intersection (lst1, lst2))

Exit :

 {9, 11} 

Method 4:
When using this hybrid method , the program’s complexity drops to O (n). This is an efficient way to do the following program.

# Python program to illustrate intersection
# of two lists

def intersection (lst1, lst2):

 

# Using a hybrid method

temp = set (lst2)

lst3 = [value for value in lst1 if value in temp]

return lst3

 
Driver code

lst1 = [ 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 where intersection occurs over sublists within other lists. Here we have used the concept of filter ().

# Python program to illustrate intersection
# from two lists, sublists and using the filter ()

def intersection ( lst1, lst2):

lst3 = [ list ( filter ( lambda x: x in lst1, sublist)) for sublist in lst2]

  return lst3

  
Driver code

lst1 = [ 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))

Work: The filter part takes an item from each sublist and checks if it is in the original list. List comprehension is performed for each sublist in list2. 
Output:

 [[13, 32], [7, 13, 28], [1, 6]] 

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method