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处理Excel xlrd的简单使用
Sep 12 Python
python爬虫使用cookie登录详解
Dec 27 Python
快速解决pandas.read_csv()乱码的问题
Jun 15 Python
Python函数参数匹配模型通用规则keyword-only参数详解
Jun 10 Python
python如何读取bin文件并下发串口
Jul 05 Python
OpenCV 边缘检测
Jul 10 Python
python pandas获取csv指定行 列的操作方法
Jul 12 Python
python连接PostgreSQL过程解析
Feb 09 Python
Python3自定义http/https请求拦截mitmproxy脚本实例
May 11 Python
Python中的全局变量如何理解
Jun 04 Python
有关pycharm登录github时有的时候会报错connection reset的问题
Sep 15 Python
python正则表达式re.match()匹配多个字符方法的实现
Jan 27 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根据IP地址获取所在城市具体实现
2013/11/27 PHP
php向js函数传参的几种方法
2014/08/10 PHP
PHP快速排序quicksort实例详解
2016/09/28 PHP
thinkphp5.1 框架钩子和行为用法实例分析
2020/05/25 PHP
childNodes.length与children.length的区别
2009/05/14 Javascript
Javascript类库的顶层对象名用户体验分析
2010/10/24 Javascript
jQuery UI Datepicker length为空或不是对象错误的解决方法
2010/12/19 Javascript
javascript全局变量封装模块实现代码
2012/11/28 Javascript
jquery在项目中做复选框时遇到的一些问题笔记
2013/11/17 Javascript
yepnope.js使用详解及示例分享
2014/06/23 Javascript
javascript实现简单的html5视频播放器
2015/05/06 Javascript
设置jQueryUI DatePicker默认语言为中文
2016/06/04 Javascript
jQuery实现磁力图片跟随效果完整示例
2016/09/16 Javascript
Nodejs--post的公式详解
2017/04/29 NodeJs
Angular.js中angular-ui-router的简单实践
2017/07/18 Javascript
10个在JavaScript开发中常遇到的BUG
2017/12/18 Javascript
详解使用vuex进行菜单管理
2017/12/21 Javascript
vue.js内置组件之keep-alive组件使用
2018/07/10 Javascript
微信小程序实现底部导航
2018/11/05 Javascript
一个因@click.stop引发的bug的解决
2019/01/08 Javascript
JavaScript闭包与作用域链实例分析
2019/01/21 Javascript
vue学习笔记之作用域插槽实例分析
2020/02/01 Javascript
python基础教程之字典操作详解
2014/03/25 Python
利用python实现简单的循环购物车功能示例代码
2017/07/05 Python
python在OpenCV里实现投影变换效果
2019/08/30 Python
html5 localStorage本地存储_动力节点Java学院整理
2017/07/06 HTML / CSS
美国排名第一的葡萄酒俱乐部:Firstleaf Wine Club
2020/01/02 全球购物
全球采购的街头服饰和帽子:Urban Excess
2020/10/28 全球购物
大学生职业生涯规划书模板
2014/01/03 职场文书
高中数学教学反思
2014/01/30 职场文书
2014村书记党建工作汇报材料
2014/11/02 职场文书
学生逃课检讨书
2015/02/17 职场文书
工作能力自我评价2015
2015/03/05 职场文书
幼儿园老师工作总结2015
2015/05/22 职场文书
功夫熊猫观后感
2015/06/10 职场文书
2016年父亲节寄语
2015/12/04 职场文书