python 排列組合

2021-10-08 17:28:03 字數 891 閱讀 1982

from scipy.special import comb, perm

# 計算排列數

a = perm(3,

2)# 計算組合數

c = comb(45,

2)print

(int

(a),

int(c)

)

6

990

方法

說明種類

permutations

排列不放回抽樣排列

combinations

組合,沒有重複

不放回抽樣組合

product

笛卡爾積

有放回抽樣排列

combinations_with_replacement

組合,有重複

有放回抽樣組合

例項:

from itertools import combinations,permutations,product,combinations_with_replacement

data =

['1'

,'2'

,'3'

]print

(list

(combinations(data,2)

))for i, j in combinations(data,2)

:print

(i, j)

[

('1'

,'2'),

('1'

,'3'),

('2'

,'3')]

1213

23

python實現排列組合

排列組合是組合學最基本的概念。所謂排列,就是指從給定個數的元素中取出指定個數的元素進行排序。組合則是指從給定個數的元素中僅僅取出指定個數的元素,不考慮排序。itertools參考文件 import itertools itertools.combinations iterable,r 引數說明 it...

Python排列組合模板

筆試題第乙個往往涉及到排列組合的問題,本文將給出乙個python語言的排列和組合的 模板,像記住快排一樣能夠在各種筆試面試演算法題中熟練默寫。46.全排列 77.組合 78.子集 本文依託這兩個題,並給出更為通用的排列組合模板,分析時間複雜度和空間複雜度,力圖完全掌握這兩個演算法。回溯法全排列 從s...

Python的排列組合運用

有下面一道程式設計的題目,如果用其他語言確實有點難辦,但是用python,呵呵!寫程式幫 把2組學生配對。有兩組學生,a組跟b組。每個學生有自己的分數,分數為1到100的整數。乙個a組的學生能跟乙個b組的學生配成一對,條件是兩個學生分數差別不能超過某非負整數k。每一對包含乙個a組的學生跟乙個b組的學...