python - Python中重复排列的数量?
问题描述
是否有一个函数可以计算 Python 中重复排列的数量?我知道使用 itertools 可以生成它们,但我只想要一种更快的方法来进行计算并避免计算阶乘,我对生成所有可能的排列不感兴趣。
示例:计算由 4 个 As、3 个 Bs、5 个 Cs 组成的可能字符串。
水库= 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))
解决方案
推荐阅读
- reactjs - 上下文 API HOC 单元测试
- javascript - 从对象列表中逐行渲染表格
- c# - 在 C# 中以异步形式建立条件
- javascript - 由于标头而导致滚动偏移javascript的问题
- firebase - 将 DataSnapshot 转换为自定义结构对象 - Swift 4
- javascript - 从单独的 JS 文件访问数据响应项(控制台错误)
- javascript - CSS垂直对齐部分标签中的文本?
- javascript - 如何在 MySQL Nodejs 中建立一对多关系?
- javascript - JavaScript对象作为计数器不递增
- concurrency - 为什么要换!即使 Atom 的值没有改变,也要重试?