新聞中心
生成全排列組合是計(jì)算機(jī)科學(xué)中常見的問題,可以使用Python的內(nèi)置庫itertools來解決。

目前成都創(chuàng)新互聯(lián)公司已為1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站運(yùn)營、企業(yè)網(wǎng)站設(shè)計(jì)、烏當(dāng)網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
我們需要導(dǎo)入itertools庫,然后使用itertools.permutations()函數(shù)來生成全排列,這個(gè)函數(shù)接受兩個(gè)參數(shù):一個(gè)可迭代對(duì)象和一個(gè)整數(shù)n,表示要生成的排列的長度,如果不提供n,那么默認(rèn)生成所有可能的排列。
下面是一個(gè)例子,演示如何使用itertools.permutations()函數(shù)生成全排列:
import itertools
定義一個(gè)列表
lst = [1, 2, 3]
生成全排列
for p in itertools.permutations(lst):
print(p)
輸出結(jié)果:
(1, 2, 3) (1, 3, 2) (2, 1, 3) (2, 3, 1) (3, 1, 2) (3, 2, 1)
除了使用itertools.permutations()函數(shù),我們還可以使用itertools.combinations()函數(shù)來生成組合,這個(gè)函數(shù)接受兩個(gè)參數(shù):一個(gè)可迭代對(duì)象和一個(gè)整數(shù)n,表示要生成的組合的長度,如果不提供n,那么默認(rèn)生成所有可能的組合。
下面是一個(gè)例子,演示如何使用itertools.combinations()函數(shù)生成組合:
import itertools
定義一個(gè)列表
lst = [1, 2, 3]
生成組合
for c in itertools.combinations(lst, 2):
print(c)
輸出結(jié)果:
(1, 2) (1, 3) (2, 3)
名稱欄目:python如何生成全排列組合
轉(zhuǎn)載源于:http://fisionsoft.com.cn/article/djccohj.html


咨詢
建站咨詢
