【发布时间】:2020-05-30 01:18:44
【问题描述】:
我有一个变量列表,其中的数量可以改变。每个变量都有一个下限、上限和一个增量值。例如:
variables = {
"a": [1, 10, 1],
"b": [50, 200, 5],
"c": [50, 300, 10]
}
其中键“a”,1为下限,10为上限,1为增量。
"a" would go from 1 through 10, incrementing by 1
"b" would go from 50 through 200, incrementing by 5
"c" would go from 50 through 300, incrementing by 10
... there can be more or less such keys.
我需要创建 a、b 和 c 的所有可能组合的列表,而无需硬编码嵌套循环,因为变量/键的数量未知,而且我无法理解它。我正在使用 Python 3.7
理想情况下,输出是每个变量的组合表,可能是逗号分隔的值。例如。
a b c
x y z
x y z
x y z
x y z
但是,只要我可以将输出整理成可以将每个组合作为一组访问的格式,任何事情都可以。比如元组列表。
[
(x, y, z)
(x, y, z)
]
...
【问题讨论】:
-
你能发布一个输出示例
-
听起来你可以使用this cartesian product implementation(显然是在创建变量数组之后)
-
我想你可能会研究一下 python itertools 模块。 docs.python.org/3/library/itertools.html
标签: python loops dynamic combinations