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 相关文章推荐
在Django的模型中添加自定义方法的示例
Jul 21 Python
全面了解Python环境配置及项目建立
Jun 30 Python
Python中二维列表如何获取子区域元素的组成
Jan 19 Python
python深度优先搜索和广度优先搜索
Feb 07 Python
对Python 2.7 pandas 中的read_excel详解
May 04 Python
Python实现的企业粉丝抽奖功能示例
Jul 26 Python
django创建简单的页面响应实例教程
Sep 06 Python
python 循环数据赋值实例
Dec 02 Python
Jupyter Notebook的连接密码 token查询方式
Apr 21 Python
python 如何实现遗传算法
Sep 22 Python
python PIL模块的基本使用
Sep 29 Python
Python面向对象之内置函数相关知识总结
Jun 24 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 addslashes和mysql_real_escape_string
2010/01/24 PHP
PHP中魔术变量__METHOD__与__FUNCTION__的区别
2014/09/29 PHP
php动态添加url查询参数的方法
2015/04/14 PHP
用PHP写的一个冒泡排序法的函数简单实例
2016/05/26 PHP
浅谈PHP中的Trait使用方法
2019/03/22 PHP
Laravel5.7 数据库操作迁移的实现方法
2019/04/12 PHP
thinkphp5框架API token身份验证功能示例
2019/05/21 PHP
jQuery的强大选择器小结
2009/12/27 Javascript
jQuery EasyUI API 中文文档 可调整尺寸
2011/09/29 Javascript
一个获取第n个元素节点的js函数
2014/09/02 Javascript
javascript感应鼠标图片透明度显示的方法
2015/02/24 Javascript
js检查是否关闭浏览器的方法
2016/08/02 Javascript
JavaScript实现垂直向上无缝滚动特效代码
2016/11/23 Javascript
基于JavaScript实现随机颜色输入框
2016/12/10 Javascript
详解Vue路由History mode模式中页面无法渲染的原因及解决
2017/09/28 Javascript
IntelliJ IDEA编辑器配置vue高亮显示
2019/09/26 Javascript
python计算最小优先级队列代码分享
2013/12/18 Python
Python引用(import)文件夹下的py文件的方法
2014/08/26 Python
Python yield 使用浅析
2015/05/28 Python
python购物车程序简单代码
2018/04/18 Python
python numpy 显示图像阵列的实例
2018/07/02 Python
APIStar:一个专为Python3设计的API框架
2018/09/26 Python
详解python爬虫系列之初识爬虫
2019/04/06 Python
python lambda表达式(匿名函数)写法解析
2019/09/16 Python
python离线安装外部依赖包的实现
2020/02/13 Python
Python实现对adb命令封装
2020/03/06 Python
使用简单的CSS3属性实现炫酷读者墙效果
2014/01/08 HTML / CSS
ALEX AND ANI:手镯,项链,耳环和更多
2017/04/20 全球购物
Moss Bros官网:英国排名第一的西装店
2020/02/26 全球购物
颁奖晚会主持词
2014/03/25 职场文书
高考励志标语
2014/06/05 职场文书
大学生国庆节65周年演讲稿范文
2014/09/25 职场文书
劳动仲裁撤诉申请书
2015/05/18 职场文书
初中思想品德教学反思
2016/02/24 职场文书
市语委办2016年第十九届“推普周”活动总结
2016/04/05 职场文书
go语言基础 seek光标位置os包的使用
2021/05/09 Golang