|
第一种方法:递归 复制代码 代码如下: 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])): print item
结果 复制代码 代码如下: [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): 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,4])): print item
您可能感兴趣的文章:- python常规方法实现数组的全排列
- python标准算法实现数组全排列的方法
- python不带重复的全排列代码
- python回溯法实现数组全排列输出实例分析
- python通过yield实现数组全排列的方法
- python非递归全排列实现方法
- Python基于回溯法子集树模板解决全排列问题示例
- python3实现字符串的全排列的方法(无重复字符)
- Python全排列操作实例分析
(编辑:安卓应用网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|