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操作列表的常用方法分享
Feb 13 Python
Python中模块与包有相同名字的处理方法
May 05 Python
使用python实现ANN
Dec 20 Python
python调用百度语音REST API
Aug 30 Python
用pycharm开发django项目示例代码
Oct 24 Python
PyQt5 实现给窗口设置背景图片的方法
Jun 13 Python
解决tensorflow打印tensor有省略号的问题
Feb 04 Python
基于python实现获取网页图片过程解析
May 11 Python
PyQt5 文本输入框自动补全QLineEdit的实现示例
May 13 Python
Python 多线程C段扫描、检测 Ping扫描脚本的实现
Sep 03 Python
Python列表的深复制和浅复制示例详解
Feb 12 Python
安装不同版本的tensorflow与models方法实现
Feb 20 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
php生成EXCEL的东东
2006/10/09 PHP
PHP编程之高级技巧——利用Mysql函数
2006/10/09 PHP
php统计文件大小,以GB、MB、KB、B输出
2011/05/29 PHP
PHP多线程类及用法实例
2014/12/03 PHP
一端时间轮换的广告
2006/06/26 Javascript
Javascript 中文字符串处理额外注意事项
2009/11/15 Javascript
最简单的js图片切换效果实现代码
2011/09/24 Javascript
可以浮动某个物体的jquery控件用法实例
2015/07/24 Javascript
微信小程序 Record API详解及实例代码
2016/09/30 Javascript
canvas实现钟表效果
2017/02/13 Javascript
VUE2.0中Jsonp的使用方法
2018/05/22 Javascript
electron-vue利用webpack打包实现多页面的入口文件问题
2019/05/12 Javascript
VUEX采坑之路之获取不到$store的解决方法
2019/11/08 Javascript
swiper实现异形轮播效果
2019/11/28 Javascript
基于vue与element实现创建试卷相关功能(实例代码)
2020/12/07 Vue.js
详解ES6实现类的私有变量的几种写法
2021/02/10 Javascript
[03:40]DOTA2亚洲邀请赛小组赛第二日 赛事回顾
2015/01/31 DOTA
[02:07]DOTA2新英雄展现中国元素,完美“圣典”亮相央视
2016/12/19 DOTA
python下如何查询CS反恐精英的服务器信息
2017/01/17 Python
利用pyinstaller或virtualenv将python程序打包详解
2017/03/22 Python
python中WSGI是什么,Python应用WSGI详解
2017/11/24 Python
python OpenCV学习笔记实现二维直方图
2018/02/08 Python
Python引用计数操作示例
2018/08/23 Python
基于TensorFlow常量、序列以及随机值生成实例
2020/01/04 Python
python opencv实现信用卡的数字识别
2020/01/12 Python
Python如何用filter函数筛选数据
2020/03/05 Python
Lampegiganten丹麦:欧洲领先的照明网上商店
2018/04/25 全球购物
电气专业推荐信范文
2013/11/18 职场文书
大学生通用个人的自我评价
2014/02/10 职场文书
行政管理毕业生自荐信
2014/02/24 职场文书
yy司仪主持词
2014/03/22 职场文书
入党积极分子自我鉴定范文
2014/03/25 职场文书
世界读书日的活动方案
2014/08/20 职场文书
党员对照检查材料思想汇报
2014/09/16 职场文书
2015年仓管员工作总结
2015/04/21 职场文书
浅谈Redis主从复制以及主从复制原理
2021/05/29 Redis