加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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])):
    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全排列操作实例分析

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读