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

猜你喜欢

转载自blog.csdn.net/weixin_41947081/article/details/80740756
今日推荐