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

标签 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)

结果:
1 2 4
1 2 5
1 2 6
1 3 4
1 3 5
1 3 6

完美,现在我的问题是如何定义它的功能,考虑到当然可能有更多带有值的列表。这个想法是获取功能,这将动态地产生相同的结果。

有没有办法向python解释:“例如做8个嵌套循环”?

最佳答案

您可以使用 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)

关于function - 如何定义动态嵌套循环python函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38276007/

相关文章:

php - 在单个 PHP 函数中处理多个变量

javascript - 如何将两个数组组合为笛卡尔积?

javascript - 关于JavaScript动态菜单代码的问题

list - J,找不到的动词

检查结构数组中非空字符串的数量;将 NULL 值分配给结构数组中的 char 数组

javascript - 如何使用 javascript 从 JSON 字符串获取特定值

Java:使用动态加载的类

string - 将字符串拆分为最少数量的字符串,其中每个字母重复奇数次

javascript - jQuery/JavaScript - 在一个函数完成后启动一个函数?

java 使用 readline 嵌套 while 循环