【发布时间】:2020-01-24 06:49:29
【问题描述】:
例如,有 M 个属性 a_1, ..., a_M 可供选择,每个属性有 N 个选择。
问题是搜索 N ^ M 个选项的整个组合。
使用嵌套的 for 循环,伪代码如下所示。
# length of a_1, ..., a_M is N for each.
for c_1 in a_1:
for c_2 in a_2:
...
for c_M in a_M:
evaluate(c_1, c_2, ..., c_M)
但是,这个极端的嵌套for循环看起来很糟糕,我不想写M次for语句。
此外,如果我们不知道要考虑的属性数量,我们甚至无法使用此代码。
如上,还有更简单优雅的方法吗?
【问题讨论】:
-
属性
a_1, ..., a_M应该存储在数组或列表等集合中。在这种情况下,您只需要两个循环 -
感谢评论,但这个问题不仅仅是选择 a_1 之一并查看它。选择 (x for a_1, y for a_2, ..., z for a _M) (x, y, ..., z) 是一种选择。
标签: algorithm for-loop search combinations