How can you compute the Python intersection of two lists accurately?

How to find the Python intersection of two lists? Given two lists:

a = [1, 2, 3, 4, 5] b = [1, 3, 5, 6]

You want to find their intersection, meaning the elements present in both lists. For example:

Actual output: [1, 3, 5, 6] (incorrect for list intersection) Expected output: [1, 3, 5]

How can you compute the Python intersection of two lists accurately?

List comprehension can be used to find elements common to both lists.

a = [1, 2, 3, 4, 5]
b = [1, 3, 5, 6]

intersection = [item for item in a if item in b]
print(intersection)  # Output: [1, 3, 5]

Converting both lists to sets allows you to use the intersection method for an efficient solution.


a = [1, 2, 3, 4, 5]
b = [1, 3, 5, 6]

intersection = list(set(a).intersection(b))
print(intersection)  # Output: [1, 3, 5]

The filter() function filters elements from the first list based on their presence in the second list.

a = [1, 2, 3, 4, 5]
b = [1, 3, 5, 6]

intersection = list(filter(lambda x: x in b, a))
print(intersection)  # Output: [1, 3, 5]

The methods effectively compute the Python intersection of two lists based on your expected output.