打印数组所有排列 python
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                打印数组所有排列 python
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.                        
                                本人.net一名,最近在看數(shù)據(jù)結(jié)構(gòu)與算法分析,中間涉及的一些比較有意思的算法題,打算用python實(shí)現(xiàn)以下。選擇python的原因,就是想熟悉一下python的語法,和pycharm基本的應(yīng)用。
本篇,算法為:打印數(shù)組的所有排列可能。廢話不多說,直接上代碼。
1 #自動生成list 2 def creataList(n): 3 numlist=[]; 4 for i in range(n): 5 numlist.append(i); 6 7 return numlist; 8 #copy list排除某一個元素 9 def copewithout(lst,index): 10 newlst=[]; 11 for i in range(len(lst)): 12 if(i==index): 13 continue; 14 newlst.append(lst[i]); 15 return newlst; 16 17 #打印所有排列 18 def printallchildlist(numlist,index,printlist,length): 19 if(index==length-1): 20 printlist[index]=numlist[0]; 21 print(printlist); 22 else: 23 for i in range(len(numlist)): 24 printlist[index]=numlist[i]; 25 newnumlst=copewithout(numlist,i); 26 printallchildlist(newnumlst,index+1,printlist,length); 27 #主函數(shù) 28 def domain(num): 29 numlst=creataList(num); 30 printlst=creataList(num); 31 printallchildlist(numlst,0,printlst,num); 32 33 domain(3);這是測試結(jié)果:
D:\Learning\Python\Test\venv\Scripts\python.exe D:/Learning/Python/Test/2.13.py [0, 1, 2] [0, 2, 1] [1, 0, 2] [1, 2, 0] [2, 0, 1] [2, 1, 0]
轉(zhuǎn)載于:https://www.cnblogs.com/answerme/p/9302356.html
總結(jié)
以上是生活随笔為你收集整理的打印数组所有排列 python的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: PX4地面站QGroundControl
- 下一篇: Linux 基础学习大考核
