python通过yield实现数组全排列的方法


Posted in Python onMarch 18, 2015

本文实例讲述了python通过yield实现数组全排列的方法。分享给大家供大家参考。具体分析如下:

从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。
这段代码用到了yield方法,全排列速度加倍

def perm(arr, pos = 0):
  if pos == len(arr):
    yield arr
  for i in range(pos, len(arr)):
    arr[pos], arr[i] = arr[i], arr[pos]
    for _ in perm(arr, pos + 1): yield _
    arr[pos], arr[i] = arr[i], arr[pos]
for i in perm([1,2,3,4]):
  print i

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
python线程池的实现实例
Nov 18 Python
Python 爬虫多线程详解及实例代码
Oct 08 Python
Python实现简单文本字符串处理的方法
Jan 22 Python
pyqt5自定义信号实例解析
Jan 31 Python
浅谈pandas中DataFrame关于显示值省略的解决方法
Apr 08 Python
Python正则表达式和元字符详解
Nov 29 Python
Python类的继承、多态及获取对象信息操作详解
Feb 28 Python
python django下载大的csv文件实现方法分析
Jul 19 Python
Django中间件拦截未登录url实例详解
Sep 03 Python
Python Selenium实现无可视化界面过程解析
Aug 25 Python
Python urlopen()参数代码示例解析
Dec 10 Python
Python的三个重要函数详解
Jan 18 Python
python以环状形式组合排列图片并输出的方法
Mar 17 #Python
python将ip地址转换成整数的方法
Mar 17 #Python
python实现模拟按键,自动翻页看u17漫画
Mar 17 #Python
python通过pil为png图片填充上背景颜色的方法
Mar 17 #Python
python按照多个字符对字符串进行分割的方法
Mar 17 #Python
python通过floor函数舍弃小数位的方法
Mar 17 #Python
python常规方法实现数组的全排列
Mar 17 #Python
You might like
php实现文件下载实例分享
2014/06/02 PHP
php开发工具有哪五款
2015/11/09 PHP
php如何控制用户对图片的访问 PHP禁止图片盗链
2016/03/25 PHP
PHP面向对象自动加载机制原理与用法分析
2016/10/14 PHP
javascript 写类方式之四
2009/07/05 Javascript
分享一个asp.net pager分页控件
2012/01/04 Javascript
jQuery制作仿腾讯web qq用户体验桌面
2013/08/20 Javascript
如何学习Javascript入门指导
2013/11/01 Javascript
JavaScript判断文件上传类型的方法
2014/09/02 Javascript
使用window.prompt()实现弹出用户输入的对话框
2015/04/13 Javascript
JavaScript中常见的字符串操作函数及用法汇总
2015/05/04 Javascript
javascript实现相同事件名称,不同命名空间的调用方法
2015/06/26 Javascript
解决JS无法调用Controller问题的方法
2015/12/31 Javascript
javascript 继承学习心得总结
2016/03/17 Javascript
JavaScript每天必学之事件
2016/09/18 Javascript
javascript数据类型详解
2017/02/07 Javascript
node文字生成图片的示例代码
2017/10/26 Javascript
React.js组件实现拖拽排序组件功能过程解析
2020/04/27 Javascript
使用node-media-server搭建一个简易的流媒体服务器
2021/01/20 Javascript
使用Python的Scrapy框架编写web爬虫的简单示例
2015/04/17 Python
Python和C/C++交互的几种方法总结
2017/05/11 Python
Python多线程中阻塞(join)与锁(Lock)使用误区解析
2018/04/27 Python
python利用百度AI实现文字识别功能
2018/11/27 Python
python 搭建简单的http server,可直接post文件的实例
2019/01/03 Python
pyqt5 实现在别的窗口弹出进度条
2019/06/18 Python
Python使用get_text()方法从大段html中提取文本的实例
2019/08/27 Python
将matplotlib绘图嵌入pyqt的方法示例
2020/01/08 Python
Python流程控制常用工具详解
2020/02/24 Python
HTML5混合开发二维码扫描以及调用本地摄像头
2017/12/27 HTML / CSS
HTML5中canvas中的beginPath()和closePath()的重要性
2018/08/24 HTML / CSS
印尼极简主义和实惠的在线家具店:Fabelio
2019/03/27 全球购物
2015年学生会部门工作总结
2015/04/21 职场文书
入党积极分子党小组意见
2015/06/02 职场文书
开国大典观后感
2015/06/04 职场文书
2016年习主席讲话学习心得体会
2016/01/20 职场文书
MySQL创建高性能索引的全步骤
2021/05/02 MySQL