Python:连接给定数量的循环

时间:2016-09-15 12:57:38

标签: python python-3.x for-loop

我有这部分代码:

N = 4
coa = []
for a in range(N):
    for b in range(N):
        for c in range(N):
            for d in range (N):
                coa.append(a,b,c,d)

基本上,我需要连接与数字N一样多的for循环。因此,如果N等于6,我将不得不添加其他两个带字母ef的for循环,并在coa.append()内添加相同的字母{1}}。是否有可能自动执行此操作,这意味着通过改变N的整数值,可以在不键入的情况下完成所有操作?

1 个答案:

答案 0 :(得分:1)

您可以使用itertools.productrepeat()

以下是一个例子:

In [3]: from itertools import product, repeat

In [5]: 

In [5]: list(product(*repeat(range(3), 3)))
Out[5]: 
[(0, 0, 0),
 (0, 0, 1),
 (0, 0, 2),
 (0, 1, 0),
 (0, 1, 1),
 (0, 1, 2),
 (0, 2, 0),
 (0, 2, 1),
 (0, 2, 2),
 (1, 0, 0),
 (1, 0, 1),
 (1, 0, 2),
 (1, 1, 0),
 (1, 1, 1),
 (1, 1, 2),
 (1, 2, 0),
 (1, 2, 1),
 (1, 2, 2),
 (2, 0, 0),
 (2, 0, 1),
 (2, 0, 2),
 (2, 1, 0),
 (2, 1, 1),
 (2, 1, 2),
 (2, 2, 0),
 (2, 2, 1),
 (2, 2, 2)]