0
点赞
收藏
分享

微信扫一扫

使用Python递归实现全排列


整体思路

1:确定两个列表

2:一个列表是用来存放需要全排列的数

3:另一个列表是用来存放已经排列好的数

4:将上面两个列表不断进行递归

5:最后结果列表里添加的是最后排列好的列表

代码

import math
import copy
# 定义全排列的函数

def permutation(need_perm, Already_perm):
global temp_list

if len(need_perm) == 0:
temp_list.append(Already_perm)
return

for i, element in enumerate(need_perm):

permutation(need_perm[:i]+need_perm[i+1:], Already_perm+[element])

return temp_list


if __name__ == "__main__":

user_input = eval('['+input("请输入需要全排列的数字:")+']')

temp_list = []

permutation(user_input, [])

print(temp_list)

结果

使用Python递归实现全排列_列表



举报

相关推荐

0 条评论