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爬取网易云音乐热门评论
Mar 31 Python
Python操作Sql Server 2008数据库的方法详解
May 17 Python
python自动查询12306余票并发送邮箱提醒脚本
May 21 Python
基于python log取对数详解
Jun 08 Python
详解重置Django migration的常见方式
Feb 15 Python
Python之pymysql的使用小结
Jul 01 Python
Python pip替换为阿里源的方法步骤
Jul 02 Python
Python学习笔记之迭代器和生成器用法实例详解
Aug 08 Python
docker-py 用Python调用Docker接口的方法
Aug 30 Python
Python 读取WAV音频文件 画频谱的实例
Mar 14 Python
Python气泡提示与标签的实现
Apr 01 Python
python_tkinter弹出对话框创建
Mar 20 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报表之jpgraph柱状图实例代码
2011/08/22 PHP
关于PHP内存溢出问题的解决方法
2013/06/25 PHP
php实现快速排序的三种方法分享
2014/03/12 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
由prototype_1.3.1进入javascript殿堂-类的初探
2006/11/06 Javascript
js实现动态改变字体大小代码
2014/01/02 Javascript
jquery制作搜狐快站页面效果示例分享
2014/02/21 Javascript
JQuery异步获取返回值中文乱码的解决方法
2015/01/29 Javascript
js+html5实现canvas绘制镂空字体文本的方法
2015/06/05 Javascript
JavaScript简单判断复选框是否选中及取出值的方法
2015/08/13 Javascript
jquery自定义表单验证插件
2016/10/12 Javascript
文件上传插件SWFUpload的使用指南
2016/11/29 Javascript
BootStrap便签页的简单应用
2017/01/06 Javascript
vue-cli webpack模板项目搭建及打包时路径问题的解决方法
2018/02/26 Javascript
使用淘宝镜像cnpm安装Vue.js的图文教程
2018/05/17 Javascript
vuejs选中当前样式active的实例
2018/08/22 Javascript
nodejs遍历文件夹下并操作HTML/CSS/JS/PNG/JPG的方法
2018/11/01 NodeJs
vuex管理状态仓库使用详解
2020/07/29 Javascript
详解React路由传参方法汇总记录
2020/11/29 Javascript
一个计算身份证号码校验位的Python小程序
2014/08/15 Python
Python读取mp3中ID3信息的方法
2015/03/05 Python
Python简单计算文件夹大小的方法
2015/07/14 Python
python基础while循环及if判断的实例讲解
2017/08/25 Python
python中列表和元组的区别
2017/12/18 Python
浅谈python之新式类
2018/08/12 Python
python爬虫获取百度首页内容教学
2018/12/23 Python
解决python xlrd无法读取excel文件的问题
2018/12/25 Python
PyTorch中permute的用法详解
2019/12/30 Python
如何把外网python虚拟环境迁移到内网
2020/05/18 Python
使用HTML5 Geolocation实现一个距离追踪器
2018/04/09 HTML / CSS
美国CVS药店官网:CVS Pharmacy
2018/07/26 全球购物
斯洛伐克香水和化妆品购物网站:Parfemy-Elnino.sk
2020/01/28 全球购物
一些Solaris面试题
2013/03/22 面试题
社区安置帮教工作总结2015
2015/05/20 职场文书
股东协议书范本2016
2016/03/21 职场文书
解决numpy和torch数据类型转化的问题
2021/05/23 Python