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 相关文章推荐
PyCharm代码格式调整方法
May 23 Python
在Pycharm中将pyinstaller加入External Tools的方法
Jan 16 Python
python opencv捕获摄像头并显示内容的实现
Jul 11 Python
Python函数参数类型及排序原理总结
Dec 19 Python
提升python处理速度原理及方法实例
Dec 25 Python
IronPython连接MySQL的方法步骤
Dec 27 Python
python 伯努利分布详解
Feb 25 Python
使用Pycharm分段执行代码
Apr 15 Python
Pycharm激活方法及详细教程(详细且实用)
May 12 Python
OpenCV+python实现实时目标检测功能
Jun 24 Python
Python基于execjs运行js过程解析
Nov 27 Python
Python first-order-model实现让照片动起来
Jun 25 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 header()函数常用方法总结
2014/04/11 PHP
PHP中如何防止外部恶意提交调用ajax接口
2016/04/11 PHP
JavaScript中的Document文档对象
2008/01/16 Javascript
jQuery取得设置清空select选择的文本与值
2014/07/08 Javascript
jQuery监控文本框事件并作相应处理的方法
2015/04/16 Javascript
JavaScript中数组继承的简单示例
2015/07/29 Javascript
跟我学习javascript的var预解析与函数声明提升
2015/11/16 Javascript
实现高性能JavaScript之执行与加载
2016/01/30 Javascript
详解JavaScript for循环中发送AJAX请求问题
2020/06/23 Javascript
使用jQuery制作Web页面遮罩层插件的实例教程
2016/05/26 Javascript
bootstrap按钮插件(Button)使用方法解析
2017/01/13 Javascript
javascript实现圣旨卷轴展开效果(代码分享)
2017/03/23 Javascript
es6 字符串String的扩展(实例讲解)
2017/08/03 Javascript
jQuery中 DOM节点操作方法大全
2017/10/12 jQuery
Django+vue跨域问题解决的详细步骤
2019/01/20 Javascript
Weex开发之WEEX-EROS开发踩坑(小结)
2019/10/16 Javascript
JS函数进阶之prototy用法实例分析
2020/01/15 Javascript
[03:01]DOTA2英雄基础教程 露娜
2014/01/07 DOTA
将Django使用的数据库从MySQL迁移到PostgreSQL的教程
2015/04/11 Python
使用wxPython获取系统剪贴板中的数据的教程
2015/05/06 Python
Python实现获取磁盘剩余空间的2种方法
2017/06/07 Python
pandas dataframe的合并实现(append, merge, concat)
2019/06/24 Python
Python爬虫使用代理IP的实现
2019/10/27 Python
Python可变参数会自动填充前面的默认同名参数实例
2019/11/18 Python
python实现矩阵和array数组之间的转换
2019/11/29 Python
Tensorflow tf.nn.depthwise_conv2d如何实现深度卷积的
2020/04/20 Python
DRF使用simple JWT身份验证的实现
2021/01/14 Python
世界著名的顶级牛排:Omaha Steak(奥马哈牛排)
2016/09/20 全球购物
日本快乐生活方式购物网站:Shop Japan
2018/07/17 全球购物
大门门卫岗位职责
2013/11/30 职场文书
党员干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
机电专业毕业生自我鉴定2014
2014/10/04 职场文书
员工自我评价范文
2015/03/11 职场文书
抖音动画片,皮皮虾,《治愈系》动画在用这首REMIX作为背景音乐,Anak ,The last world with you完整版
2022/03/16 杂记
Python IO文件管理的具体使用
2022/03/20 Python
vue如何在data中引入图片的正确路径
2022/06/05 Vue.js