Function Python

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)