python使用递归解决全排列数字示例
发布时间:2020-12-16 21:05:00 所属栏目:Python 来源:网络整理
导读:第一种方法:递归 复制代码 代码如下: def perms(elements): if len(elements) =1: yield elements else: for perm in perms(elements[1:]): for i in range(len(elements)): yield perm[:i] + elements[0:1] + perm[i:] for item in list(perms([1,2,3,4]))
第一种方法:递归 复制代码 代码如下: def perms(elements): if len(elements) <=1: yield elements else: for perm in perms(elements[1:]): for i in range(len(elements)): yield perm[:i] + elements[0:1] + perm[i:] for item in list(perms([1,2,3,4])): 结果 复制代码 代码如下: [1,4] [2,1,4,1] [1,4] [3,2] [3,3] [2,3] [4,2] [4,1] 第二种方法:python标准库 复制代码 代码如下: import itertools print list(itertools.permutations([1,4],3)) 源代码如下: 复制代码 代码如下: #coding:utf-8 import itertools print list(itertools.permutations([1,3)) def perms(elements): for item in list(perms([1,4])): 您可能感兴趣的文章:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |