首页 > 解决方案 > python中所有不同k的组合数

问题描述

使用 python 3.8

列表 = [12, 9, 3, 8, 4, 35, 5, 6, 13, 15]

我想找到组合的数量。N!/k!(n-k)!但是,当每个位置的 k不同时,不确定如何实现。

所以我有 10 个位置,在第一个位置我有 12 个不同的选择,在第二个位置我有 9 个选择,依此类推..

我如何在 python 中计算它并想了解它背后的逻辑,因此资源会有所帮助。

编辑:我一定很困惑。每个元素的乘积将给出组合数。因为在每个位置它都有位于其他位置的 K。例如,就像从 12 条裤子、9 条衬衫、3 副眼镜、8 只袜子中选择……

标签: pythonstatisticscombinationspermutation

解决方案


据我了解,您可能想使用 numpy 的prod功能:

np.prod(list) # Returns 2122848000, that is to say 12*9*3*8*...*15

就好像你在一个位置有 x 个选择,而在另一个位置有 y,那么你在 [x,y] 上总共有 x*y 个可能的组合。


推荐阅读