温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎样通过python实现全排列

发布时间:2021-02-01 13:42:38 来源:亿速云 阅读:268 作者:小新 栏目:开发技术

小编给大家分享一下怎样通过python实现全排列,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

itertools模块现成的全排列:

for i in itertools.permutations('abcd',4):   print ''.join(i)

相关全排列算法:

def perm(l):    if(len(l)<=1):      return [l]    r=[]    for i in range(len(l)):      s=l[:i]+l[i+1:]      p=perm(s)      for x in p:        r.append(l[i:i+1]+x)    return r
#递归,下降二叉树 def perm(lis,begin,end):   #print "调用perm函数"   if begin>=end:     print lis   else:     i = begin      for num in range(begin,end):       lis[num],lis[i] = lis[i],lis[num] #固定当前位置,在进行下一位的排列       #print "-----num:%d,begin:%d"%(num,begin)       perm(lis,begin+1,end)       #print "*****num:%d,begin:%d"%(num,begin)       #调用结束之后还需要回溯将交换位置的元素还原,以供其他下降路径使用(二叉树)       lis[num],lis[i] = lis[i],lis[num] lis = [1,2,3,4] perm(lis,0,len(lis))

看完了这篇文章,相信你对“怎样通过python实现全排列”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI