Python中带有重复的排列数?

时间:2018-09-13 09:11:32

标签: python itertools

在Python中是否有一个函数可以计算重复的排列数量?我知道可以使用itertools生成它们,但是我只希望有一种更快的方法来进行计算并避免计算阶乘,我对生成所有可能的排列不感兴趣。

示例:计算由4 As,3 Bs,5 Cs组成的可能字符串。

res = 12!/(4!3!5!)

或在代码中

from math import factorial
from functools import reduce
rep=[4,3,5]
result= factorial(sum(rep))//reduce(lambda x,y: x*y, map(factorial, rep))

0 个答案:

没有答案