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

python使用递归解决全排列数字示例

发布时间:2020-05-23 23:02:57 所属栏目:Python 来源:互联网
导读:第一种方法:递归复制代码代码如下:defperms(elements):iflen(elements)=1:yieldelementselse:

第一种方法:递归
复制代码 代码如下:
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全排列操作实例分析

(编辑:安卓应用网)

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

    推荐文章
      热点阅读