一、 调用 scipy 计算排列组合的具体数值
代码:
from scipy.special import comb, perm
print(perm(3, 2)) #排列
print(comb(3, 2)) #组合
结果:
6.0
3.0
二、 调用 itertools 获取排列组合的全部情况数
from scipy.special import comb, perm
from itertools import combinations, permutations
#组合
print(comb(4,2))
print(combinations([1, 2, 3, 4], 2)) #从1,2,3,4当中取2个数出来有哪些组合
print(list(combinations([1, 2, 3, 4], 2)))
#排列
print(perm(4,2))
print(permutations([1, 2, 3, 4], 2)) #从1,2,3,4当中取2个数出来排列有哪些组合
print(list(permutations([1, 2, 3, 4], 2)))
结果:
6.0
<itertools.combinations object at 0x00000258B629B868>
[(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)]
12.0
<itertools.permutations object at 0x00000258BF278048>
[(1, 2), (1, 3), (1, 4), (2, 1), (2, 3), (2, 4), (3, 1), (3, 2), (3, 4), (4, 1), (4, 2), (4, 3)]