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多线程抓取天涯帖子内容示例
Apr 03 Python
python django集成cas验证系统
Jul 14 Python
用Python进行一些简单的自然语言处理的教程
Mar 31 Python
Python使用SocketServer模块编写基本服务器程序的教程
Jul 12 Python
Python在groupby分组后提取指定位置记录方法
Apr 20 Python
python2和python3在处理字符串上的区别详解
May 29 Python
python基于pdfminer库提取pdf文字代码实例
Aug 15 Python
Win10 安装PyCharm2019.1.1(图文教程)
Sep 29 Python
使用python切片实现二维数组复制示例
Nov 26 Python
pycharm实现在子类中添加一个父类没有的属性
Mar 12 Python
python 基于selenium实现鼠标拖拽功能
Dec 24 Python
安装pytorch时报sslerror错误的解决方案
May 17 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
输出控制类
2006/10/09 PHP
微信公众平台消息接口校验与消息接口响应实例
2014/12/23 PHP
PHP实现的同步推荐操作API接口案例分析
2016/11/30 PHP
PHP使用pdo实现事务处理操作示例
2018/09/05 PHP
PHP中strtr与str_replace函数运行性能简单测试示例
2019/06/22 PHP
js跨域访问示例(客户端/服务端)
2014/05/19 Javascript
jquery动态调整div大小使其宽度始终为浏览器宽度
2014/06/06 Javascript
JS访问DOM节点方法详解
2016/11/29 Javascript
详解RequireJs官方使用教程
2017/10/31 Javascript
vue使用rem实现 移动端屏幕适配
2018/09/26 Javascript
vue 内置过滤器的使用总结(附加自定义过滤器)
2018/12/11 Javascript
javascript之分片上传,断点续传的实际项目实现详解
2019/09/05 Javascript
解决layui中onchange失效以及form动态渲染失效的问题
2019/09/27 Javascript
Vue自定义组件的四种方式示例详解
2020/02/28 Javascript
javascript解析json格式的数据方法详解
2020/08/07 Javascript
微信小程序实现点赞业务
2021/02/10 Javascript
Windows下PyMongo下载及安装教程
2015/04/27 Python
用Python中的字典来处理索引统计的方法
2015/05/05 Python
详解python的argpare和click模块小结
2019/03/31 Python
Python如何使用k-means方法将列表中相似的句子归类
2019/08/08 Python
python模块导入的方法
2019/10/24 Python
Pytorch evaluation每次运行结果不同的解决
2020/01/02 Python
python虚拟环境模块venv使用及示例
2020/03/04 Python
html5 CSS过度-webkit-transition使用介绍
2013/07/02 HTML / CSS
Solaris操作系统的线程机制
2012/12/23 面试题
物流专业大学应届生求职信
2013/11/03 职场文书
学习新党章思想汇报
2014/01/09 职场文书
公务员转正考察材料
2014/02/07 职场文书
公司承诺书怎么写
2014/05/24 职场文书
商场促销活动总结
2014/07/10 职场文书
2014年教研室工作总结
2014/12/06 职场文书
大学生个人学习总结
2015/02/15 职场文书
学生党支部工作总结2015
2015/05/26 职场文书
vue实现可拖拽的dialog弹框
2021/05/13 Vue.js
MySQL 计算连续登录天数
2022/05/11 MySQL
Go本地测试解耦任务拆解及沟通详解Go本地测试的思路沟通的重要性总结
2022/06/21 Golang