Version 1 (modified by bsoher, 10 years ago) (diff) |
---|

Lambda operators to perform simple set operators

#Example of lambda for simple list AND, OR, XOR, UNION list1=range(5) # [0,1,2,3,4] list2=range(3,7) # [3,4,5,6] union=list1+filter(lambda x:x not in list1,list2) # union = [0,1,2,3,4,5,6] Intersection is just as easy intersection=filter(lambda x:x in list1,list2) # intersection=[3,4] Difference is the last thing you wanted... difference=filter(lambda x:x not in list2,list1) # difference=[0,1,2] And my set vocabulary is rusty but the distinct elements or those from both lists that are NOT in common (un-intersection?) would be: distinct=filter(lamba x:x not in list2,list1)+filter(lambda x:x not in list1,list2) # distinct=[0,1,2,5,6]