MDP*_*P89 5 python python-itertools
Python中有没有计算重复排列数的函数?我知道使用 itertools 我可以生成它们,但我只想要一种更快的方法来进行计算并避免计算阶乘,我对生成所有可能的排列不感兴趣。
例:计算4个A、3个B、5个C可能组成的字符串。
分辨率= 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))
Run Code Online (Sandbox Code Playgroud)