如何格式化該函數以便遞歸地工作?如果可能的話,我想更深入多層次,而不僅僅是直到5.在python中遞歸排列排列
排列是一個具有不同排列的列表,這些排列也可以有排列等。我想根據我做的一些計算來排列它們get_permutations並返回排列的新順序。查看它的一個好方法可能是列表清單列表的大列表。首先,我想改變第一層次的順序,而不是一步深入,但最終我會根據這些排列返回字符串,而不是排列本身(如果有的話),res1 ... res5是字符串。即使我知道它應該是可能的,但我還不夠聰明,以遞歸方式工作......任何想法?
permutations, res1 = get_permutations(str, 1)
for p2 in permutations:
permutations_2, res2 = get_permutations(p2,2)
for p3 in permutations_2:
permutations_3, res3 = get_permutations(p3,3)
for p4 in permutations_3:
permutations_4, res4 = get_permutations(p4, 4)
for p5 in permutations_4:
permutations_5, res5 = get_permutations(p5,5)
res4 += res5
res3 += res4
res2 += res3
res1 += res2
return res1
編輯:這將返回一個單一的(最好的)置換。這就是結果。因此,如答案中所提到的那樣,不是可能的排列列表。例如。如果我們有一個列表列表,如果首先根據所有子信息對列表進行排序,然後根據以前的排序和所有子信息對多個列表進行排序,然後根據以前的兩種排序列表對列表進行排序。
你嘗試自己轉換呢?向我們展示您的嘗試 – depperm
[Python排列遞歸]的可能重複(http://stackoverflow.com/questions/35814976/python-permutations-recursive) – schwobaseggl