a = [1]
b = [2,3]
c = [4,5,6]
d = [a,b,c]
for x0 in d[0]:
for x1 in d[1]:
for x2 in d[2]:
print(x0,x1,x2)
结果:
1 2 4
1 2 5
1 2 6
1 3 4
1 3 5
1 3 6
完美,现在我的问题是如何定义这个功能,考虑到可能会有更多的值列表。我们的想法是获得功能,动态地产生相同的结果。
有没有办法向python解释:"例如8个嵌套循环"?
答案 0 :(得分:6)
您可以使用itertools
为您计算产品,并可以使用*
运算符将您的列表转换为itertools.product()
函数的参数。
import itertools
a = [1]
b = [2,3]
c = [4,5,6]
args = [a,b,c]
for combination in itertools.product(*args):
print combination
输出
(1, 2, 4)
(1, 2, 5)
(1, 2, 6)
(1, 3, 4)
(1, 3, 5)
(1, 3, 6)