python标准算法实现数组全排列的方法

500次阅读  |  发布于5年以前

本文实例讲述了python标准算法实现数组全排列的方法,代码来自国外网站。分享给大家供大家参考。具体分析如下:

从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。


    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)

希望本文所述对大家的Python程序设计有所帮助。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8