I know how to get an intersection of two flat lists:
b1 = [1,2,3,4,5,9,11,15] b2 = [4,5,6,7,8] b3 = [val for val in b1 if val in b2]
or
To define intersection that correctly takes into account the cardinality of the elements use Counter:
Counter
from collections import Counter >>> c1 = [1, 2, 2, 3, 4, 4, 4] >>> c2 = [1, 2, 4, 4, 4, 4, 5] >>> list((Counter(c1) & Counter(c2)).elements()) [1, 2, 4, 4, 4]