从IF条件中选择多个箱中的单个项目时,返回所有可能的组合

时间:2014-07-30 20:09:24

标签: python algorithm

如果我在从N个不同的箱子中选择一个元素时需要所有组合,我可以这样做:

all_possible_cominations = [selection for selection in itertools.product(bin1,bin2,bin3...)]

但在这种情况下,我遇到一个问题,即在bin1中选择的元素会更改哪些分箱与其他选项相关。

例如:

bin1 = [1,2],bin2 = [3,4],bin3 = [5,6]

如果我们从bin1中选择1,那么我们从bin2中选择0项,从bin3中选择1项,如果我们从bin1中选择2,那么我们从bin2中选择1项,从bin3中选择0项。

所以组合的详尽列表将是[1,,5],[1,,6],[2,3,],[2,4,]

任何帮助?

1 个答案:

答案 0 :(得分:2)

我不确定我的问题是否正确。这对你有帮助吗?

import itertools

bin1 = [1,2]
bin2 = [3,4]
bin3 = [5,6]

print [[bin1[0],y] for y in bin3] + [[bin1[1],y] for y in bin2]