def array_combinations(*args): combinations = [[i] for i in args[0]] for arg in args[1:]: tempcomb = [] for i in arg: tempcomb += [c+[i] for c in combinations if i not in c ] combinations = tempcomb return combinations res = array_combinations(a,b,c) print len(res)