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 实现文件的递归拷贝实现代码
Aug 02 Python
python 获取本机ip地址的两个方法
Feb 25 Python
详解python函数传参是传值还是传引用
Jan 16 Python
python将每个单词按空格分开并保存到文件中
Mar 19 Python
Python函数any()和all()的用法及区别介绍
Sep 14 Python
Python os.rename() 重命名目录和文件的示例
Oct 25 Python
Python 实现王者荣耀中的敏感词过滤示例
Jan 21 Python
Python常用爬虫代码总结方便查询
Feb 25 Python
python调用webservice接口的实现
Jul 12 Python
Python tensorflow实现mnist手写数字识别示例【非卷积与卷积实现】
Dec 19 Python
win7上tensorflow2.2.0安装成功 引用DLL load failed时找不到指定模块 tensorflow has no attribute xxx 解决方法
May 20 Python
python修改微信和支付宝步数的示例代码
Oct 12 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函数按引用传递参数及函数可选参数用法示例
2018/06/04 PHP
js兼容标准的表格变色效果
2008/06/28 Javascript
理解Javascript_12_执行模型浅析
2010/10/18 Javascript
JQuery操作表格(隔行着色,高亮显示,筛选数据)
2012/02/23 Javascript
js加强的经典分页实例
2013/03/15 Javascript
JavaScript如何从listbox里同时删除多个项目
2013/10/12 Javascript
ExtJS4 动态生成的grid导出为excel示例
2014/05/02 Javascript
jQuery实现购物车计算价格功能的方法
2015/03/25 Javascript
JS仿淘宝实现的简单滑动门效果代码
2015/10/14 Javascript
基于JS实现省市联动效果代码分享
2016/06/06 Javascript
利用jQuery实现一个简单的表格上下翻页效果
2017/03/14 Javascript
bootstrap模态框远程示例代码分享
2017/05/22 Javascript
深入浅析Nodejs的Http模块
2017/06/20 NodeJs
JavaScript之map reduce_动力节点Java学院整理
2017/06/29 Javascript
聊聊Vue.js的template编译的问题
2017/10/09 Javascript
jQuery实现的鼠标响应缓冲动画效果示例
2018/02/13 jQuery
vue中简单弹框dialog的实现方法
2018/02/26 Javascript
vue+element-ui+ajax实现一个表格的实例
2018/03/09 Javascript
获取layer.open弹出层的返回值方法
2018/08/20 Javascript
vue首次赋值不触发watch的解决方法
2018/09/11 Javascript
Python实现并行抓取整站40万条房价数据(可更换抓取城市)
2016/12/14 Python
Python实现的井字棋(Tic Tac Toe)游戏示例
2018/01/31 Python
python实现百度语音识别api
2018/04/10 Python
Python Web编程之WSGI协议简介
2018/07/18 Python
Python实现的线性回归算法示例【附csv文件下载】
2018/12/29 Python
Python3网络爬虫中的requests高级用法详解
2019/06/18 Python
详解Python中的正斜杠与反斜杠
2019/08/09 Python
python实现大学人员管理系统
2019/10/25 Python
Django xadmin开启搜索功能的实现
2019/11/15 Python
用CSS3实现瀑布流布局的示例代码
2017/11/10 HTML / CSS
美国半成品食材配送服务商:Home Chef
2018/01/25 全球购物
妇女儿童发展规划实施方案
2014/03/16 职场文书
给客户的感谢信
2015/01/21 职场文书
幼儿园小班个人总结
2015/02/12 职场文书
创业计划书之便利店
2019/09/05 职场文书
go语言中切片与内存复制 memcpy 的实现操作
2021/04/27 Golang