如何通過python實現(xiàn)全排列
更新時間:2020年02月11日 08:49:10 作者:xushukui
這篇文章主要介紹了如何通過python實現(xiàn)全排列,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
這篇文章主要介紹了如何通過python實現(xiàn)全排列,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
itertools模塊現(xiàn)成的全排列:
for i in itertools.permutations('abcd',4):
print ''.join(i)
相關全排列算法:
def perm(l):
if(len(l)<=1):
return [l]
r=[]
for i in range(len(l)):
s=l[:i]+l[i+1:]
p=perm(s)
for x in p:
r.append(l[i:i+1]+x)
return r
#遞歸,下降二叉樹
def perm(lis,begin,end):
#print "調(diào)用perm函數(shù)"
if begin>=end:
print lis
else:
i = begin
for num in range(begin,end):
lis[num],lis[i] = lis[i],lis[num] #固定當前位置,在進行下一位的排列
#print "-----num:%d,begin:%d"%(num,begin)
perm(lis,begin+1,end)
#print "*****num:%d,begin:%d"%(num,begin)
#調(diào)用結(jié)束之后還需要回溯將交換位置的元素還原,以供其他下降路徑使用(二叉樹)
lis[num],lis[i] = lis[i],lis[num]
lis = [1,2,3,4]
perm(lis,0,len(lis))
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Python OpenCV實現(xiàn)識別信用卡號教程詳解
本文將介紹如何通過 OpenCV 和 Python 使用模板匹配來執(zhí)行光學字符識別 (OCR),再應用我們的模板匹配 OCR 方法來識別信用卡類型以及 16 位信用卡數(shù)字。代碼具有一定價值,感興趣的童鞋可以了解一下2021-11-11
python topN 取最大的N個數(shù)或最小的N個數(shù)方法
今天小編就為大家分享一篇python topN 取最大的N個數(shù)或最小的N個數(shù)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06
Centos 升級到python3后pip 無法使用的解決方法
今天小編就為大家分享一篇Centos 升級到python3后pip 無法使用的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06
Python高效定時任務處理APScheduler庫深入學習
這篇文章主要為大家介紹了Python高效定時任務處理APScheduler庫深入學習,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-08-08
Python卷積神經(jīng)網(wǎng)絡圖片分類框架詳解分析
在機器視覺領域中,卷積神經(jīng)網(wǎng)絡算法作為一種新興算法出現(xiàn),在圖像識別領域中,卷積神經(jīng)網(wǎng)絡能夠較好的實現(xiàn)圖像的分類效果,而且其位移和形變具有較高的容忍能力2021-11-11
Python批量實現(xiàn)Word/EXCEL/PPT轉(zhuǎn)PDF
在日常辦公和文檔處理中,有時我們需要將多個Word文檔、Excel表格或PPT演示文稿轉(zhuǎn)換為PDF文件,本文將介紹如何使用Python編程語言批量實現(xiàn)將多個Word、Excel和PPT文件轉(zhuǎn)換為PDF文件,需要的可以參考下2023-09-09

