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的Flask框架下收发电子邮件的教程
Apr 21 Python
详细讲解用Python发送SMTP邮件的教程
Apr 29 Python
基于python log取对数详解
Jun 08 Python
对python实现二维函数高次拟合的示例详解
Dec 29 Python
python3 tkinter实现点击一个按钮跳出另一个窗口的方法
Jun 13 Python
python可视化篇之流式数据监控的实现
Aug 07 Python
使用pandas的box_plot去除异常值
Dec 10 Python
python字典setdefault方法和get方法使用实例
Dec 25 Python
Python实现栈的方法详解【基于数组和单链表两种方法】
Feb 22 Python
Django实现任意文件上传(最简单的方法)
Jun 03 Python
MAC平台基于Python Appium环境搭建过程图解
Aug 13 Python
python模块与C和C++动态库相互调用实现过程示例
Nov 02 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
教你IIS6的PHP最佳配置方法
2006/09/05 PHP
采用ThinkPHP中F方法实现快速缓存实例
2014/06/13 PHP
jquery 插件开发备注
2010/08/27 Javascript
基于jquery的button默认enter事件(回车事件)。
2011/05/18 Javascript
jquery中animate动画积累的解决方法
2013/10/05 Javascript
JavaScript利用append添加元素报错的解决方法
2014/07/01 Javascript
jQuery选择器之基本选择器与层次选择器
2015/03/03 Javascript
javascript判断css3动画结束 css3动画结束的回调函数
2015/03/10 Javascript
贴近用户体验的Jquery日期、时间选择插件
2015/08/19 Javascript
JavaScript的Number对象的toString()方法
2015/12/18 Javascript
深入理解MVC中的时间js格式化
2016/05/19 Javascript
基于jQuery实现中英文切换导航条效果
2016/09/18 Javascript
vue-cli 如何打包上线的方法示例
2018/05/08 Javascript
vue路由前进后退动画效果的实现代码
2018/12/10 Javascript
nodejs微信开发之接入指南
2019/03/17 NodeJs
vue+axios实现post文件下载
2019/09/25 Javascript
简单了解Vue + ElementUI后台管理模板
2020/04/07 Javascript
python计算时间差的方法
2015/05/20 Python
Python聚类算法之基本K均值实例详解
2015/11/20 Python
Python 内置函数complex详解
2016/10/23 Python
python使用logging模块发送邮件代码示例
2018/01/18 Python
Django中使用第三方登录的示例代码
2018/08/20 Python
python给指定csv表格中的联系人群发邮件(带附件的邮件)
2019/12/31 Python
基于Python编写一个计算器程序,实现简单的加减乘除和取余二元运算
2020/08/05 Python
只要五步 就可以用HTML5/CSS3快速制作便签贴特效(图)
2012/06/04 HTML / CSS
俄罗斯园林植物网上商店:Garshinka
2020/07/16 全球购物
车队司机自我鉴定
2014/03/02 职场文书
大学军训感言300字
2014/03/09 职场文书
国防教育标语
2014/10/08 职场文书
市场营销计划书范文
2015/01/16 职场文书
2015年公司工作总结
2015/04/25 职场文书
建国大业观后感
2015/06/01 职场文书
地道战观后感
2015/06/04 职场文书
2015年重阳节活动主持词
2015/07/30 职场文书
Python OpenCV快速入门教程
2021/04/17 Python
剑指Offer之Java算法习题精讲二叉树专项训练
2022/03/21 Java/Android