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

你可能感兴趣的:(python)