python实现数组的全排列,python实现数组,def perm(l):


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  
                                调用方法
if __name__=='__main__':      """ default param is list(1,2,3,4,5) (code from http://www.byrx.net/codes/)"""      l=[];      if(len(sys.argv)<=1):          """input=['%d' %(i) for i in xrange(1,6)]"""          l=list((1,2,3,4,5))      else:#input param looks like "2,3,4,5,6",no legal checks here.          input=str(sys.argv[1])          l=input.split(",")          for i in xrange(len(l)):              l[i] = int(l[i])      print perm(l)  

评论关闭