在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))