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之Python安装
Sep 12 Python
python+pygame简单画板实现代码实例
Dec 13 Python
Python利用正则表达式实现计算器算法思路解析
Apr 25 Python
Python类和对象的定义与实际应用案例分析
Dec 27 Python
python实现银联支付和支付宝支付接入
May 07 Python
Python整数对象实现原理详解
Jul 01 Python
numpy.transpose()实现数组的转置例子
Dec 02 Python
Python MOCK SERVER moco模拟接口测试过程解析
Apr 13 Python
python爬虫构建代理ip池抓取数据库的示例代码
Sep 22 Python
python 图像增强算法实现详解
Jan 24 Python
yolov5返回坐标的方法实例
Mar 17 Python
python中的sys模块和os模块
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 伪造ip以及url来路信息方法汇总
2014/11/25 PHP
PHP+Ajax实现无刷新分页实例详解(附demo源码下载)
2016/04/07 PHP
php设计模式之单例模式用法经典示例分析
2019/09/20 PHP
php使用Swoole实现毫秒级定时任务的方法
2020/09/04 PHP
JQuery UI皮肤定制
2009/07/27 Javascript
jQuery 阴影插件代码分享
2012/01/09 Javascript
Javascript this 的一些学习总结
2012/08/02 Javascript
让input框实现类似百度的搜索提示(基于jquery事件监听)
2014/01/31 Javascript
javascript判断office版本示例
2014/04/11 Javascript
Javascript 多物体运动的实现
2014/12/24 Javascript
JavaSciprt中处理字符串之sup()方法的使用教程
2015/06/08 Javascript
JavaScript实现模仿桌面窗口的方法
2015/07/18 Javascript
基于Bootstrap实现tab标签切换效果
2020/04/15 Javascript
JS函数多个参数默认值指定方法分析
2016/11/28 Javascript
Bootstrap下拉菜单样式
2017/02/07 Javascript
jQuery插件HighCharts绘制的2D堆柱状图效果示例【附demo源码下载】
2017/03/14 Javascript
基于vue监听滚动事件实现锚点链接平滑滚动的方法
2018/01/17 Javascript
vue项目中运用webpack动态配置打包多种环境域名的方法
2019/06/24 Javascript
jquery向后台提交数组的代码分析
2020/02/20 jQuery
Vue中通过vue-router实现命名视图的问题
2020/04/23 Javascript
transform python环境快速配置方法
2018/09/27 Python
详解Python使用Plotly绘图工具,绘制甘特图
2019/04/02 Python
详解python编译器和解释器的区别
2019/06/24 Python
Pytorch训练过程出现nan的解决方式
2020/01/02 Python
Python3获取cookie常用三种方案
2020/10/05 Python
html5使用canvas实现图片下载功能的示例代码
2017/08/26 HTML / CSS
简单介绍HTML5中audio标签的使用
2015/09/24 HTML / CSS
双立人加拿大官网:Zwilling加拿大
2020/08/10 全球购物
Java编程面试题
2016/04/04 面试题
毕业留言寄语大全
2014/04/10 职场文书
幼儿园家长评语大全
2014/04/16 职场文书
本科生自荐信
2014/06/18 职场文书
企业挂职心得体会
2014/09/10 职场文书
春节慰问信范文
2015/02/15 职场文书
给校长的建议书范文
2015/09/14 职场文书
Python安装使用Scrapy框架
2022/04/12 Python