在python中生成组合

myC*_*one 15 python arrays combinations matrix multidimensional-array

如果可能的话,我不知道如何在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中执行此操作.我确信有,但我不确定最有效的方法是什么.也许是一个"for in"循环语句,它迭代每个类的每个元素?或者现在我正在研究这个,迭代工具会处理这个吗?

提前感谢您提供的任何帮助.

FMc*_*FMc 31

你想要什么称为笛卡尔积:

import itertools

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

for t in itertools.product(*iterables):
    print t
Run Code Online (Sandbox Code Playgroud)


Aif*_*Aif 8

最简单的方法:

for i in Class1:
    for j in Class2:
        for k in Class3:
            print (i,j,k)
Run Code Online (Sandbox Code Playgroud)