python非遞歸全排列實(shí)現(xiàn)方法
剛剛開始學(xué)習(xí)python,當(dāng)前看到了函數(shù)這一節(jié)。結(jié)合數(shù)組操作,寫了個(gè)非遞歸的全排列生成。原理是插入法,也就是在一個(gè)有n個(gè)元素的已有排列中,后加入的元素,依次在前,中,后的每一個(gè)位置插入,生成n+1個(gè)新的全排列。因?yàn)镻ython切割數(shù)組或者字符串,以及合并比較方便,所以,程序會(huì)節(jié)省很多代碼。
def getArrayInsertCharToStr(STR,CHAR):
arr =[]
s_len = len(STR)
index =0
while index <= s_len:
#分割字符串
arr.append(STR[:index]+CHAR+STR[index:s_len])
index = index + 1
return arr
def getArrayInsertCharToArray(array,CHAR):
index = 0
re_array = []
while index < len(array):
re_array = re_array + getArrayInsertCharToStr(array[index],CHAR)
index = index + 1
return re_array
def getPermutation(STR):
resultArr = [STR[0]]
for item in STR[1:]:
resultArr = getArrayInsertCharToArray(resultArr,item)
return resultArr
print(getPermutation('abc'))
以上這篇python非遞歸全排列實(shí)現(xiàn)方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python 操作sqlite數(shù)據(jù)庫的方法
sqlite的官網(wǎng) sqlite.org/index.html SQLite 作為一個(gè)SQL數(shù)據(jù)庫引擎,是由C語言實(shí)現(xiàn)的,又小又快,具有高可靠性且功能齊全。 作為嵌入式數(shù)據(jù)庫,在移動(dòng)設(shè)備中使用非常廣泛且方便。本文講解如何使用python操作sqlite數(shù)據(jù)庫2021-06-06
Python如何根據(jù)時(shí)間序列數(shù)據(jù)作圖
這篇文章主要介紹了Python如何根據(jù)時(shí)間序列數(shù)據(jù)作圖,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05
對(duì)python創(chuàng)建及引用動(dòng)態(tài)變量名的示例講解
今天小編就為大家分享一篇對(duì)python創(chuàng)建及引用動(dòng)態(tài)變量名的示例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-11-11
Python實(shí)現(xiàn)動(dòng)態(tài)添加屬性和方法操作示例
這篇文章主要介紹了Python實(shí)現(xiàn)動(dòng)態(tài)添加屬性和方法操作,結(jié)合實(shí)例形式分析了Python類中屬性與方法的動(dòng)態(tài)添加、綁定、刪除等相關(guān)操作技巧,需要的朋友可以參考下2018-07-07
python網(wǎng)絡(luò)編程學(xué)習(xí)筆記(四):域名系統(tǒng)
當(dāng)我們?cè)谏暇W(wǎng)的時(shí)候,通常輸入的是網(wǎng)址,其實(shí)這就是一個(gè)域名,而我們計(jì)算機(jī)網(wǎng)絡(luò)上的計(jì)算機(jī)彼此之間只能用IP地址才能相互識(shí)別2014-06-06
python在一個(gè)范圍內(nèi)取隨機(jī)數(shù)的簡(jiǎn)單實(shí)例
在本篇內(nèi)容里小編給大家分享了關(guān)于python在一個(gè)范圍內(nèi)取隨機(jī)數(shù)的簡(jiǎn)單實(shí)例內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。2020-08-08
Python實(shí)現(xiàn)繪制3D條形圖的示例詳解
這篇文章主要為大家學(xué)習(xí)介紹了如何利用Python實(shí)現(xiàn)繪制3D條形圖,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下2023-07-07
OpenCV基礎(chǔ)HSV顏色空間*args與**kwargs滑動(dòng)條傳參問題
這篇文章主要介紹了OpenCV基礎(chǔ)中HSV顏色空間*args與**kwargs滑動(dòng)條傳參問題的詳細(xì)解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10

