Skip to main content
 首页 » 编程设计

python之python的多个系数

2025年05月04日17grandyang

问题来了: 假设有 9 个不同的物体,找出将其分成 2、3、4 组的所有方法。

在数学上,除法的总数可以表示为9!/2!3!4!

这是我试过的,

import itertools 
def multiCoef(seta, n1, n2): 
  seta = set(seta) 
  for comba in itertools.combinations(seta, n1): 
    comba = set(comba) 
    for combb in itertools.combinations(seta-comba, n2): 
      combb = set(combb) 
      yield comba, combb, seta-comba-combb 

你可以用这样的东西试试,它运行得很好:

>>> y = multiCoef(x, 2, 3) 
>>> for i in y: print i 

但是一旦组数变大,这种方法就会变得很麻烦。有没有更好的办法?

请您参考如下方法: