>>189
ゴメン、よく読んでなかった。
190のやり方でもいいと思うけど、少し使いやすい関数にしてみた。
def combi(A,B):
    if isinstance(A[0], tuple):
        return [a + (b,) for a in A for b in B]
    else:
        return [(a , b) for a in A for b in B]
def combination(*lists):
    return reduce(combi,lists)

A=[1,2,3]
B=[4,5]
C=[6,7]
print combination(A,B,C)