【发布时间】:2017-01-23 14:21:22
【问题描述】:
我怎样才能格式化这个函数,使它递归地工作?如果可能的话,我想更深层次,而不是只到 5 级。
permutations 是一个具有不同排列的列表,这些单独的排列也可以有排列等。我想根据我在 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
编辑:这将返回单个(最佳)排列。这就是结果的目的。所以不是答案中提到的可能排列的列表。例如。如果我们有一个列表列表,如果首先根据所有子信息对列表进行排序,然后根据前一个排序和所有子信息对多个列表列表进行排序,然后根据前两个排序对列表列表进行排序.
【问题讨论】:
-
你试过自己转换吗?向我们展示你的尝试
标签: python recursion permutation