全排列 (python)

python寫的,想了一上午只能寫成這樣,遍歷是都遍歷過了,但感覺少了點什么

def qpl(sz, chuanru):
    if len(sz) == 1:
        print(chuanru, end='')
        print(sz[0])
        return
    else:
        for x in range(0, len(sz)):
            if chuanru:
                print(chuanru, end='')
            if x == 0:
                # print(sz[0], end='')
                new_array = sz[1:]
                qpl(new_array, sz[0])
            else:
                temp = sz[0]
                sz[0] = sz[x]
                sz[x] = temp
                # print(sz[0], end='')
                new_array = sz[1:]
                qpl(new_array, sz[0])


def main():
    a = [1, 2, 3, 4]
    qpl(a, chuanru=None)


main()

修改了一下,寫出來了,很感動,把輸出想成一次性的,就好了

def qpl(sz, index):
    if len(sz) == index:
        print(sz)
        return
    else:
        for x in range(index, len(sz)):
            if x == 0:
                new_array = sz[:]
                qpl(new_array, index + 1)
            else:
                temp = sz[0]
                sz[0] = sz[x]
                sz[x] = temp
                new_array = sz[:]
                qpl(new_array, index + 1)


def main():
    a = [1, 2, 3, 4]
    qpl(a, 0)


main()
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 一、異同對比選擇1、Python和ruby的相同點: * 都強調語法簡單,都具有更一般的表達方式。python是縮...
    沃倫蓋茨閱讀 4,187評論 2 24
  • 出門在外,難免遇到找不到路的情況。尤其是在外地旅行的時候,這時候地圖類的APP就顯得尤為重要了。 小摯本身不是一個...
    Zerlinda小摯閱讀 310評論 0 0
  • 生活不能等待別人來安排,要自己去爭取和奮斗;而不論其結果是喜是悲,但可以慰藉的是,你總不枉在這世界上活了一場。有了...
    汪寵喵匠閱讀 1,654評論 10 21