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


Posted in Python onMarch 17, 2015

本文实例讲述了常规方法实现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 相关文章推荐
Python实现的RSS阅读器实例
Jul 25 Python
Python使用multiprocessing实现一个最简单的分布式作业调度系统
Mar 14 Python
python3实现ftp服务功能(客户端)
Mar 24 Python
Python操作使用MySQL数据库的实例代码
May 25 Python
python中reload(module)的用法示例详解
Sep 15 Python
Python反转序列的方法实例分析
Mar 21 Python
python利用pandas将excel文件转换为txt文件的方法
Oct 23 Python
python自动化生成IOS的图标
Nov 13 Python
pytorch中的卷积和池化计算方式详解
Jan 03 Python
详解Python中namedtuple的使用
Apr 27 Python
Python类成员继承重写的实现
Sep 16 Python
python爬虫快速响应服务器的做法
Nov 24 Python
python标准算法实现数组全排列的方法
Mar 17 #Python
Python网页解析利器BeautifulSoup安装使用介绍
Mar 17 #Python
python回溯法实现数组全排列输出实例分析
Mar 17 #Python
使用Python实现下载网易云音乐的高清MV
Mar 16 #Python
python使用点操作符访问字典(dict)数据的方法
Mar 16 #Python
python用来获得图片exif信息的库实例分析
Mar 16 #Python
python通过pil模块获得图片exif信息的方法
Mar 16 #Python
You might like
关于拼配咖啡,你要知道
2021/03/03 咖啡文化
php使用百度翻译api示例分享
2014/01/31 PHP
PHP基于MySQLI函数封装的数据库连接工具类【定义与用法】
2017/08/11 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
2017/08/31 PHP
Laravel框架中自定义模板指令总结
2017/12/17 PHP
Prototype1.6 JS 官方下载地址
2007/11/30 Javascript
js调用flash的效果代码
2008/04/26 Javascript
基于jquery用于查询操作的实现代码
2010/05/10 Javascript
JS+ACTIVEX实现网页选择本地目录路径对话框
2013/03/18 Javascript
Javascript闭包(Closure)详解
2015/05/05 Javascript
超漂亮的jQuery图片轮播特效
2015/11/24 Javascript
理解javascript中的严格模式
2016/02/01 Javascript
JS小数运算出现多为小数问题的解决方法
2016/06/02 Javascript
jquery select2的使用心得(推荐)
2016/12/04 Javascript
js 获取今天以及过去日期
2017/04/11 Javascript
AngularJS实现与后台服务器进行交互的示例讲解
2018/08/13 Javascript
详解在React项目中安装并使用Less(用法总结)
2019/03/18 Javascript
ionic4+angular7+cordova上传图片功能的实例代码
2019/06/19 Javascript
CKeditor4 字体颜色功能配置方法教程
2019/06/26 Javascript
[02:47]2018年度DOTA2最佳辅助位选手4号位-完美盛典
2018/12/17 DOTA
[01:16:28]DOTA2-DPC中国联赛 正赛 iG vs Magma BO3 第二场 2月23日
2021/03/11 DOTA
python 获取网页编码方式实现代码
2017/03/11 Python
python 使用值来排序一个字典的方法
2018/11/16 Python
浅谈python脚本设置运行参数的方法
2018/12/03 Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
2019/11/19 Python
keras 获取某层的输入/输出 tensor 尺寸操作
2020/06/10 Python
浅谈keras中的后端backend及其相关函数(K.prod,K.cast)
2020/06/29 Python
关于逃课的检讨书
2014/01/23 职场文书
优秀教师事迹简介
2014/02/02 职场文书
简单租房协议书
2014/04/09 职场文书
安全协议书范本
2014/04/21 职场文书
优秀团员事迹材料2000字
2014/08/20 职场文书
安全生产月标语
2014/10/07 职场文书
教师自查自纠材料
2014/10/14 职场文书
导游词之江西赣州
2019/10/15 职场文书
vue如何实现关闭对话框后刷新列表
2022/04/08 Vue.js