Mega Code Archive

 
Categories / Python / Function
 

Re design the intersect and union using tuple parameter passing

def intersect(*args):     res = []     for x in args[0]:                  # scan first sequence         for other in args[1:]:         # for all other args             if x not in other: break   # item in each one?         else:                          # no:  break out of loop             res.append(x)              # yes: add items to end     return res def union(*args):     res = []     for seq in args:                   # for all args         for x in seq:                  # for all nodes             if not x in res:                 res.append(x)          # add new items to result     return res s1, s2, s3 = "SPAM", "SCAM", "SLAM" intersect(s1, s2), union(s1, s2)           # 2 operands intersect([1,2,3], (1,4))                  # mixed types  intersect(s1, s2, s3)                      # 3 operands union(s1, s2, s3)