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实现博客文章爬虫示例
Feb 26 Python
Python中的自定义函数学习笔记
Sep 23 Python
举例详解Python中循环语句的嵌套使用
May 14 Python
Python编程之微信推送模板消息功能示例
Aug 21 Python
python编程培训 python培训靠谱吗
Jan 17 Python
python线程池threadpool实现篇
Apr 27 Python
pycharm远程linux开发和调试代码的方法
Jul 17 Python
Python 实现王者荣耀中的敏感词过滤示例
Jan 21 Python
Python实现网页截图(PyQT5)过程解析
Aug 12 Python
关于tf.reverse_sequence()简述
Jan 20 Python
python闭包与引用以及需要注意的陷阱
Sep 18 Python
Jupyter安装拓展nbextensions及解决官网下载慢的问题
Mar 03 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实现邮件群发的源码
2013/06/18 PHP
php实现对两个数组进行减法操作的方法
2015/04/17 PHP
php session实现多级目录存放实现代码
2016/02/03 PHP
php+MySql实现登录系统与输出浏览者信息功能
2016/07/01 PHP
老生常谈PHP面向对象之解释器模式
2017/05/17 PHP
php中如何执行linux命令详解
2018/11/06 PHP
javascript 实用的文字链提示框效果
2010/06/30 Javascript
Javascript表格翻页效果实现思路及代码
2013/08/23 Javascript
js仿百度切换皮肤功能(html+css)
2016/07/10 Javascript
Ionic2系列之使用DeepLinker实现指定页面URL
2016/11/21 Javascript
JavaScript使用delete删除数组元素用法示例【数组长度不变】
2017/01/17 Javascript
vue.js 左侧二级菜单显示与隐藏切换的实例代码
2017/05/23 Javascript
vue router路由嵌套不显示问题的解决方法
2017/06/17 Javascript
详解VUE单页应用骨架屏方案
2019/01/17 Javascript
详解vue-cli+es6引入es5写的js(两种方法)
2019/04/19 Javascript
压缩Vue.js打包后的体积方法总结(Vue.js打包后体积过大问题)
2020/02/03 Javascript
解决vue一个页面中复用同一个echarts组件的问题
2020/07/19 Javascript
微信小程序实现日历小功能
2020/11/18 Javascript
[03:11]TI9战队档案 - Alliance
2019/08/20 DOTA
python 多进程通信模块的简单实现
2014/02/20 Python
python写xml文件的操作实例
2014/10/05 Python
python 函数传参之传值还是传引用的分析
2017/09/07 Python
python 请求服务器的实现代码(http请求和https请求)
2018/05/25 Python
python从入门到精通 windows安装python图文教程
2019/05/18 Python
python3 自动识别usb连接状态,即对usb重连的判断方法
2019/07/03 Python
python破解bilibili滑动验证码登录功能
2019/09/11 Python
Python把图片转化为pdf代码实例
2020/07/28 Python
将一个文本文件的内容按倒序打印出来
2015/01/05 面试题
2014新课程改革心得体会
2014/03/10 职场文书
车辆工程专业求职信
2014/06/14 职场文书
英语课前三分钟演讲稿
2014/08/19 职场文书
终止劳动合同协议书
2014/10/05 职场文书
群众对十八届四中全会的期盼
2014/10/17 职场文书
初中生毕业评语
2014/12/29 职场文书
HTML中的表格元素介绍
2022/02/28 HTML / CSS
MySQL 条件查询的常用操作
2022/04/28 MySQL