python通过yield实现数组全排列的方法

 更新时间:2015年03月18日 09:14:19   作者:八大山人  
这篇文章主要介绍了python通过yield实现数组全排列的方法,实例分析了全排列的概念及yield实现的技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了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实现统计图像连通域的功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起了解一下
    2023-04-04
  • Pycharm配置PyQt5环境的教程

    Pycharm配置PyQt5环境的教程

    这篇文章主要介绍了Pycharm配置PyQt5环境的教程,本文通过图文实例详解给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • Python实现文件夹整理下载

    Python实现文件夹整理下载

    这篇文章主要为大家详细介绍了如何利用Python实现文件夹整理下载,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下
    2023-09-09
  • Pytorch模型迁移和迁移学习,导入部分模型参数的操作

    Pytorch模型迁移和迁移学习,导入部分模型参数的操作

    这篇文章主要介绍了Pytorch模型迁移和迁移学习,导入部分模型参数的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • python基础之变量和数据类型

    python基础之变量和数据类型

    这篇文章主要介绍了python的变量和数据类型,实例分析了Python中返回一个返回值与多个返回值的方法,需要的朋友可以参考下
    2021-10-10
  • python简单实现9宫格图片实例

    python简单实现9宫格图片实例

    在本篇内容里小编给各位分享的是一篇关于python实现朋友圈中的九宫格图片的实例讲解,有需要的朋友们可以参考下。
    2020-09-09
  • Python字典操作简明总结

    Python字典操作简明总结

    这篇文章主要介绍了Python字典操作简明总结,本文总结了创建字典 、创建一个"默认"字典、遍历字典、获得value值、成员操作符:in或not in 、更新字典、删除字典等常用操作,需要的朋友可以参考下
    2015-04-04
  • python用glob模块匹配路径的方法详解

    python用glob模块匹配路径的方法详解

    这篇文章主要介绍了python如何用glob模块匹配路径,glob模块是Python的一个标准库,用于在文件系统中查找文件名匹配特定模式的文件路径,需要的朋友可以参考下
    2024-02-02
  • win10 64bit下python NLTK安装教程

    win10 64bit下python NLTK安装教程

    这篇文章主要为大家详细介绍了win10 64bit下python NLTK安装教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • Python运行提示缺少模块问题解决方案

    Python运行提示缺少模块问题解决方案

    这篇文章主要介绍了Python运行提示缺少模块问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04

最新评论