You could just do this
diff = set(x) - set(y)
[item for item in x if item in diff]
or
filter(diff.__contains__, x) // diff.__contains__ equal to lambda x: x in diff
------------------------------list intersection
def intersect(a, b): return list(set(a) & set(b)) print intersect(b1, b2)
But when I have to find intersection for nested lists then my problems starts:
c1 = [1, 6, 7, 10, 13, 28, 32, 41, 58, 63] c2 = [[13, 17, 18, 21, 32], [7, 11, 13, 14, 28], [1, 5, 6, 8, 15, 16]]
In the end I would like to receive:
c3 = [[13,32],[7,13,28],[1,6]]
Can you guys give me a hand with this?
c1 = [1, 6, 7, 10, 13, 28, 32, 41, 58, 63] c2 = [[13, 17, 18, 21, 32], [7, 11, 13, 14, 28], [1, 5, 6, 8, 15, 16]] c3 = [[13, 32], [7, 13, 28], [1,6]]
Then here is your solution:
c3 = [filter(lambda x: x in c1, sublist) for sublist in c2]