Создание комбинаций в python

Я не уверен, как это сделать на Python, если это возможно. Мне нужно создать массив (или матрицу или вектор?) Из 3 отдельных массивов. Каждый массив как 4 элемента как таковой, они возвращают это:

Класс1 = [1,2,3,4] Класс 2 = [1,2,3,4] Класс 3 = [1,2,3,4]

Теперь то, что я хотел бы сделать, это вернуть все возможные комбинации этих трех классов.

Пример:

1 1 1
 2 1 1
 3 1 1
 4 1 1
 1 2 1
 2 2 1
 3 2 1
 4 2 1...

... и так далее до 64 строк (4 элемента * 16 возможных комбинаций для каждого класса = 64 строки

Я надеюсь, что есть способ сделать это в python. Я уверен, что есть, но я не уверен, каким будет самый эффективный способ. Возможно, оператор "for in" цикла, который выполняет итерацию по каждому элементу для каждого класса? Или теперь, когда я исследую это, справятся ли это с этим?

Заранее благодарим за предоставленную помощь.

Ответ 1

То, что вы хотите, называется Декартовым продуктом:

import itertools

iterables = [ [1,2,3,4], [88,99], ['a','b'] ]

for t in itertools.product(*iterables):
    print t

Ответ 2

Самый простой способ:

for i in Class1:
    for j in Class2:
        for k in Class3:
            print (i,j,k)