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 相关文章推荐
Django接受前端数据的几种方法总结
Nov 04 Python
Python简单实现自动删除目录下空文件夹的方法
Aug 29 Python
Python实现翻转数组功能示例
Jan 12 Python
TensorFlow实现AutoEncoder自编码器
Mar 09 Python
Python图像处理之图片文字识别功能(OCR)
Jul 30 Python
python画图常规设置方式
Mar 05 Python
Python pip install如何修改默认下载路径
Apr 29 Python
django创建超级用户时指定添加其它字段方式
May 14 Python
Python之字典添加元素的几种方法
Sep 30 Python
Python3.9新特性详解
Oct 10 Python
pytorch交叉熵损失函数的weight参数的使用
May 24 Python
python实现简单的三子棋游戏
Apr 28 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
农民C键的运用技巧
2020/03/04 星际争霸
Terran建筑一览
2020/03/14 星际争霸
基于mysql的bbs设计(三)
2006/10/09 PHP
ThinkPHP采用GET方式获取中文参数查询无结果的解决方法
2014/06/26 PHP
php+mysqli使用预处理技术进行数据库查询的方法
2015/01/28 PHP
javascript一个无懈可击的实例化XMLHttpRequest的方法
2010/10/13 Javascript
jquery中ajax学习笔记一
2011/10/16 Javascript
javascipt匹配单行和多行注释的正则表达式
2013/11/20 Javascript
js限制checkbox选中个数以限制六个为例
2014/07/15 Javascript
JS自定义对象实现Java中Map对象功能的方法
2015/01/20 Javascript
基于Arcgis for javascript实现百度地图ABCD marker的效果
2015/09/12 Javascript
微信小程序 免费SSL证书https、TLS版本问题的解决办法
2016/12/14 Javascript
如何解决jQuery EasyUI 已打开Tab重新加载问题
2016/12/19 Javascript
基于JavaScript实现自定义滚动条
2017/01/25 Javascript
jQuery实现动态删除LI的方法
2017/05/30 jQuery
vue父组件异步获取数据传给子组件的方法
2018/07/26 Javascript
angular4强制刷新视图的方法
2018/10/09 Javascript
JavaScript解析及序列化JSON的方法实例分析
2019/01/04 Javascript
Vue使用NProgress进度条的方法
2019/09/21 Javascript
[01:08]DOTA2次级职业联赛 - Wings 战队宣传片
2014/12/01 DOTA
django的ORM模型的实现原理
2019/03/04 Python
详解Python中的分支和循环结构
2020/02/11 Python
Python flask框架实现查询数据库并显示数据
2020/06/04 Python
CSS3圆角边框和边界图片效果实例
2016/07/01 HTML / CSS
HTML5 weui使用笔记
2019/11/21 HTML / CSS
汉语专业应届生求职信
2013/10/01 职场文书
中专毕业生自荐信范文
2013/11/28 职场文书
韩国商务邀请函
2014/01/14 职场文书
学习十八大报告感言
2014/02/28 职场文书
消防标语大全
2014/06/07 职场文书
国企干部对照检查材料
2014/08/22 职场文书
优秀党员学习焦裕禄精神思想汇报范文
2014/09/10 职场文书
2016年安全生产先进个人事迹材料
2016/02/29 职场文书
2019最新版股权转让及委托持股协议书范本
2019/08/07 职场文书
微信小程序scroll-view不能左右滑动问题的解决方法
2021/07/09 Javascript
微信小程序APP的生命周期及页面的生命周期
2022/04/19 Javascript