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类的基础入门知识
Nov 24 Python
python 正则式 概述及常用字符
May 07 Python
win7安装python生成随机数代码分享
Dec 27 Python
Python实现从百度API获取天气的方法
Mar 11 Python
在Python的Django框架中创建和使用模版
Jul 15 Python
Python算法输出1-9数组形成的结果为100的所有运算式
Nov 03 Python
Python向MySQL批量插数据的实例讲解
Mar 31 Python
python dataframe astype 字段类型转换方法
Apr 11 Python
Python利用requests模块下载图片实例代码
Aug 12 Python
python文件编写好后如何实践
Jul 07 Python
详解Django ORM引发的数据库N+1性能问题
Oct 12 Python
Python通过字典映射函数实现switch
Nov 06 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
Nigma vs Alliance BO5 第三场2.14
2021/03/10 DOTA
javascript Onunload与Onbeforeunload使用小结
2009/12/31 Javascript
使用jQuery.Validate进行客户端验证(初级篇) 不使用微软验证控件的理由
2010/06/28 Javascript
jquery操作select option 的代码小结
2011/06/21 Javascript
用jQuery获取IE9下拉框默认值问题探讨
2013/07/22 Javascript
Google官方支持的NodeJS访问API,提供后台登录授权
2014/07/29 NodeJs
js propertychange和oninput事件
2014/09/28 Javascript
浅谈javascript中return语句
2015/07/15 Javascript
JavaScript基本的输出和嵌入式写法教程
2015/10/20 Javascript
jQuery EasyUI 布局之动态添加tabs标签页
2015/11/18 Javascript
AngualrJS中每次$http请求时的一个遮罩层Directive
2016/01/26 Javascript
详解JavaScript for循环中发送AJAX请求问题
2020/06/23 Javascript
全面了解JavaScirpt 的垃圾(garbage collection)回收机制
2016/07/11 Javascript
巧用jQuery选择器提高写表单效率的方法
2016/08/19 Javascript
js实现选项卡内容切换以及折叠和展开效果【推荐】
2017/01/08 Javascript
详谈表单格式化插件jquery.serializeJSON
2017/06/23 jQuery
详解webpack3如何正确引用并使用jQuery库
2017/08/26 jQuery
JavaScript中正则表达式使数字、中文或指定字符高亮显示
2017/10/31 Javascript
详解webpack自定义loader初探
2018/08/29 Javascript
js实现鼠标拖拽div左右滑动
2020/01/15 Javascript
python实现apahce网站日志分析示例
2014/04/02 Python
浅谈Python 列表字典赋值的陷阱
2019/01/20 Python
python中利用matplotlib读取灰度图的例子
2019/12/07 Python
Python内存映射文件读写方式
2020/04/24 Python
中国最大隐形眼镜网上商城:视客眼镜网
2016/10/30 全球购物
世界顶级足球门票网站:Live Football Tickets
2017/10/14 全球购物
复古风格的女装和装饰品:ModCloth
2017/12/29 全球购物
英国哈罗德园艺:Harrod Horticultural
2020/03/31 全球购物
党员思想汇报范文
2013/12/30 职场文书
厨师长岗位职责
2014/03/02 职场文书
胡雪岩故居导游词
2015/02/06 职场文书
2015军训通讯稿大全
2015/07/18 职场文书
喜迎建国70周年:有关爱国的名言名句
2019/09/24 职场文书
SQLServer2008提示评估期已过解决方案
2021/04/12 SQL Server
Redis入门教程详解
2021/08/30 Redis
python中出现invalid syntax报错的几种原因分析
2022/02/12 Python