python计算组合数的两种实现方法

import math
import itertools
from itertools import combinations

print(unique)
## [ 1  2  3  4  5 56 78 23]

i=0
for combination in combinations(unique, 2):
    print(combination)
    i += 1
print(i) 
## 输出为28

print(math.factorial( len(unique) )/(2 * math.factorial( len(unique)-2 )))
## 输出为28

## 笛卡尔积
d = 0
uniques = [unique, unique]
for combination in itertools.product(*uniques):
    print(combination)
    d += 1
print(d)
## 输出为64

    原文作者:aespresso
    原文地址: https://blog.csdn.net/weixin_41947081/article/details/80740756
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞