Я не уверен, как пойти об этом в Python, если его даже возможный. То, что я должен сделать, создают массив (или матрица или вектор?) от 3 отдельных массивов. Каждый массив как 4 элемента как таковых, они возвращают это:
Class1 = [1,2,3,4] Class2 = [1,2,3,4] Class3 = [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. Я уверен, что существует всего лишь, я не уверен, какой самый эффективный способ пойти о был бы. Возможно, "для в" инструкции циклов, которая выполняет итерации по каждому элементу для каждого класса? Или теперь, когда я исследую, это, itertools обработало бы это?
Заранее спасибо за любую справку предложен.
То, что вы хотите, называется декартовым произведением :
import itertools
iterables = [ [1,2,3,4], [88,99], ['a','b'] ]
for t in itertools.product(*iterables):
print t
Самый простой способ:
for i in Class1:
for j in Class2:
for k in Class3:
print (i,j,k)
Проверить стандартный модуль Python itertools
:
itertools.combinations (итерабельность, r)
Возврат подпоследовательностей длины r элементов из итерируемого входа.