Interesting to see actual use of sets on Python. For those like me not familiar with the syntax there, the OR-ing (|=) is just Union minus Intersection (because all elements of a Set are unique).
>>> {1,2,3} | {2,4,6}
set([1, 2, 3, 4, 6])
By the way, AND-ing would be a straight intersection