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模拟Django框架实例
May 17 Python
pandas object格式转float64格式的方法
Apr 10 Python
详解Python 协程的详细用法使用和例子
Jun 15 Python
python去掉 unicode 字符串前面的u方法
Oct 21 Python
python redis连接 有序集合去重的代码
Aug 04 Python
python实现静态web服务器
Sep 03 Python
浅析matlab中imadjust函数
Feb 27 Python
解决jupyter notebook打不开无反应 浏览器未启动的问题
Apr 10 Python
使用Python matplotlib作图时,设置横纵坐标轴数值以百分比(%)显示
May 16 Python
基于Pyinstaller打包Python程序并压缩文件大小
May 28 Python
Python爬虫设置ip代理过程解析
Jul 20 Python
详解Python requests模块
Jun 21 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模拟SQL Server的两个日期处理函数
2006/10/09 PHP
利用discuz自带通行证整合dedecms的方法以及文件下载
2007/03/06 PHP
php 远程图片保存到本地的函数类
2008/12/08 PHP
php简单对象与数组的转换函数代码(php多层数组和对象的转换)
2011/05/18 PHP
探讨:如何使用PhpDocumentor生成文档
2013/06/25 PHP
php创建多级目录与级联删除文件的方法示例
2019/09/12 PHP
基于laravel belongsTo使用详解
2019/10/18 PHP
Javascript 静态页面实现随机显示广告的办法
2010/11/17 Javascript
判定是否原生方法的JS代码
2013/11/12 Javascript
jQuery表格列宽可拖拽改变且兼容firfox
2014/09/03 Javascript
javascript中Math.random()使用详解
2015/04/15 Javascript
在JavaScript中使用开平方根的sqrt()方法
2015/06/15 Javascript
使用jquery提交form表单并自定义action的实现代码
2016/05/25 Javascript
Vuejs第七篇之Vuejs过渡动画案例全面解析
2016/09/05 Javascript
Angular下H5上传图片的方法(可多张上传)
2017/01/09 Javascript
详解使用webpack构建多页面应用
2017/12/21 Javascript
微信小程序实现验证码获取倒计时效果
2018/02/08 Javascript
基于webpack-hot-middleware热加载相关错误的解决方法
2018/02/22 Javascript
layer.open提交子页面的form和layedit文本编辑内容的方法
2019/09/27 Javascript
原生JS利用transform实现banner的无限滚动示例代码
2020/06/15 Javascript
[33:39]DOTA2上海特级锦标赛C组小组赛#2 LGD VS Newbee第二局
2016/02/27 DOTA
[46:16]2018DOTA2亚洲邀请赛3月30日 小组赛B组 iG VS VP
2018/03/31 DOTA
[49:40]2018DOTA2亚洲邀请赛小组赛 A组加赛 TNC vs Newbee
2018/04/03 DOTA
python中as用法实例分析
2015/04/30 Python
python之matplotlib学习绘制动态更新图实例代码
2018/01/23 Python
Python 3.6打包成EXE可执行程序的实现
2019/10/18 Python
Django Channel实时推送与聊天的示例代码
2020/04/30 Python
django使用channels实现通信的示例
2020/10/19 Python
莫斯科隐形眼镜网上商店:Linzi
2019/07/22 全球购物
医学生实习自荐信
2013/10/01 职场文书
大学生求职简历的自我评价范文
2013/10/12 职场文书
个人自我剖析材料
2014/02/07 职场文书
个人债务授权委托书范本
2014/10/05 职场文书
2015年公司新年寄语
2014/12/08 职场文书
python scrapy简单模拟登录的代码分析
2021/07/21 Python
Java中try catch处理异常示例
2021/12/06 Java/Android