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.

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

*chevron_right*

*filter_none*

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

*chevron_right*

*filter_none*

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

*chevron_right*

*filter_none*

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

*chevron_right*

*filter_none*

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

*chevron_right*

*filter_none*

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

## Recommended Posts:

- Python | Intersection of multiple lists
- Python | Zipping two lists of lists
- Intersection of two arrays in Python ( Lambda expression and filter function )
- Python | Intersection of two String
- Python | Intersection of two nested list
- Intersection of two dataframe in Pandas - Python
- Python | Program to count number of lists in a list of lists
- Python - Convert Lists into Similar key value lists
- Python counter and dictionary intersection example (Make a string using deletion and rearrangement)
- Python set operations (union, intersection, difference and symmetric difference)
- Intersection() function Python
- Python | Find common elements in three sorted arrays by dictionary intersection
- Python | Pandas TimedeltaIndex.intersection
- Python | Pandas Index.intersection()
- Python | Intersection in Tuple Records Data
- Python | Records Intersection
- Python | Sympy Line.intersection() method
- python | Nested List Intersection Matrix Product
- Python - Rows intersection with K
- Python – Sympy Polygon.intersection() Method

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.