python全排列_全排列算法python实现
生活随笔
收集整理的這篇文章主要介紹了
python全排列_全排列算法python实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
全排列是排列組合中非常重要的一種運算,如lst=[1,2,3,4]的全排列有
{1,2,3,4} {1,2,4,3} {1,3,2,4}
{1,3,4,2} {1,4,2,3} {1,4,3,2}
........
一共
=24種。
思路:
依次刪除每一個元素,遞歸求其余元素的全排列,求出其余元素全排列后,將依次刪除的元素補回到最前面。
程序:
這里遞歸可能不是很熟悉,舉個特例:lst=[1,2]
(1)lst=[1,2]傳過去,進入函數,此時i=1。temp_list=[1,2],刪除之后temp_list=[2],遞歸返回temp=[2],for之后,j=[2],將i=[1]插入到[2]前面,此時j=[1,2]將j=[1,2]添加到result中。
(2)i=2。temp_list=[1,2],刪除之后temp_list=[1],遞歸返回temp=[1],for之后,j=[1],將i=[2]插入到[1]前面,此時j=[2,1],將j添加到result中,此時,result=[[1,2],[2,1]] 繼續執行return result,返回輸出結果。
運行結果:
程序下載:
總結
以上是生活随笔為你收集整理的python全排列_全排列算法python实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 划重点了!一文看懂2023联想拯救者春季
- 下一篇: python计算每月工资多少钱_[Pyt