使用有限池选择3种不同元素40次的可能性列表

时间:2014-12-04 17:57:39

标签: python combinatorics

我想打印以下事件的组合。

我有13个X,14个Y和13个Z.

我想保存所有可能的组合,所以选择X,Y,Z 4 40次直到清空。

解决方案当然可以是[13 X's, 14 Y's, 13 Z's][Z, 13 X's, 14 Y's, 12 Z's]等。

我的直觉告诉你应该在3个事件之间挑选40次给出120个组合,但我可能会非常错误。

现在我想想象一下python列表中的所有组合。

编辑:必须有更多组合。

一个更简单的例子可能是三个列表[1,1,1],[2,2,2,2],[3,3,3]

对于输出,它应该是

的列表

[1,1,1,2,2,2,2,3,3,3],[1,1,1,2,2,2,3,3,3,2],[1, 1,1,2,2,3,2,2,3,3]

等等......

1 个答案:

答案 0 :(得分:2)

(40 choose 13) * (27 choose 14) == 241365994493904000种可能的组合。你可以选择X的40个位置中的13个,然后选择Y的27个剩余位置中的14个,然后Z位于左边的位置。

放弃此任务并尝试找到其他方法来实现您的基本目标。