Skip to content
Related Articles
Python | Intersection of two lists
• Last Updated : 21 Nov, 2018

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]
```

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Method 1:
This is the simplest method where we haven’t used any built-in functions.

 `# Python program to illustrate the intersection``# of two lists in most simple 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 includes the use of set() method.

 `# Python program to illustrate the intersection``# of two lists using set() method``def` `intersection(lst1, lst2):``    ``return` `list``(``set``(lst1) & ``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 function called interscetion() to compute the intersected list. intersection() is a first-class part of set.

 `# Python program to illustrate the intersection``# of 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))`

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.

 `# Python program to illustrate the intersection``# of two lists``def` `intersection(lst1, lst2):`` ` `    ``# Use of 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 the where the intersection is performed over sub-lists inside other lists. Here we have used the concept of filter().

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

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]]
```

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course

My Personal Notes arrow_drop_up