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

Python 从多个箱子中选择单个项目时,返回所有可能的组合,并带有IF条件,python,algorithm,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

如果在从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,]


有什么帮助吗?

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

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]