python常规方法实现数组的全排列

yipeiwu_com7年前Python基础

本文实例讲述了常规方法实现python数组的全排列操作。分享给大家供大家参考。具体分析如下:

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

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) """
  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)

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

相关文章

Python中的测试模块unittest和doctest的使用教程

我要坦白一点。尽管我是一个应用相当广泛的公共域 Python 库的创造者,但在我的模块中引入的单元测试是非常不系统的。实际上,那些测试大部分 是包括在 gnosis.xml.pickle...

python安装教程 Pycharm安装详细教程

python安装教程 Pycharm安装详细教程

python安装教程和Pycharm安装详细教程,分享给大家。 首先我们来安装python 1、首先进入网站下载:点击打开链接(或自己输入网址https://www.python.org...

Python实现从脚本里运行scrapy的方法

本文实例讲述了Python实现从脚本里运行scrapy的方法。分享给大家供大家参考。具体如下: 复制代码 代码如下:#!/usr/bin/python import os os.envi...

Python实现的逻辑回归算法示例【附测试csv文件下载】

Python实现的逻辑回归算法示例【附测试csv文件下载】

本文实例讲述了Python实现的逻辑回归算法。分享给大家供大家参考,具体如下: 使用python实现逻辑回归 Using Python to Implement Logistic Reg...

Python拆分大型CSV文件代码实例

这篇文章主要介绍了Python拆分大型CSV文件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 #!/usr/bin/en...