python标准算法实现数组全排列代码,代码来自国外网站,希望对大家有所帮助。
从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。
#code from http://www.75271.com/codes/ def Mideng(li): if(type(li)!=list): return if(len(li)==1): return [li] result=[] for i in range(0,len(li[:])): bak=li[:] head=bak.pop(i) #head of the recursive-produced value for j in Mideng(bak): j.insert(0,head) result.append(j) return result def MM(n): if(type(n)!=int or n<2): return return Mideng(list(range(1,n)))
调用方法
MM(6)