Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Function 如何定义动态嵌套循环python函数_Function_Loops_Dynamic_Nested_Python 3.5 - Fatal编程技术网

Function 如何定义动态嵌套循环python函数

Function 如何定义动态嵌套循环python函数,function,loops,dynamic,nested,python-3.5,Function,Loops,Dynamic,Nested,Python 3.5,结果: 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) 很好,现在我的问题是如何定义它的功能,当然,考虑到可能会有更多带有值的列表。这样做的目的是得到一个函数,它会动态地产生相同的结果 有没有一种方法可以向python解释:“例如做8个嵌套循环”您可以使用itertools为您计

结果:

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)
很好,现在我的问题是如何定义它的功能,当然,考虑到可能会有更多带有值的列表。这样做的目的是得到一个函数,它会动态地产生相同的结果


有没有一种方法可以向python解释:“例如做8个嵌套循环”

您可以使用
itertools
为您计算产品,并且可以使用
*
操作符将列表转换为
itertools.product()函数的参数

1 2 4
1 2 5
1 2 6
1 3 4
1 3 5
1 3 6
输出为

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)