如何通过python实现全排列


Posted in Python onFebruary 11, 2020

这篇文章主要介绍了如何通过python实现全排列,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

itertools模块现成的全排列:

for i in itertools.permutations('abcd',4):
  print ''.join(i)

相关全排列算法:

def perm(l): 
  if(len(l)<=1): 
    return [l] 
  r=[] 
  for i in range(len(l)): 
    s=l[:i]+l[i+1:] 
    p=perm(s) 
    for x in p: 
      r.append(l[i:i+1]+x) 
  return r
#递归,下降二叉树
def perm(lis,begin,end):
  #print "调用perm函数"
  if begin>=end:
    print lis
  else:
    i = begin 
    for num in range(begin,end):
      lis[num],lis[i] = lis[i],lis[num] #固定当前位置,在进行下一位的排列
      #print "-----num:%d,begin:%d"%(num,begin)
      perm(lis,begin+1,end)
      #print "*****num:%d,begin:%d"%(num,begin)
      #调用结束之后还需要回溯将交换位置的元素还原,以供其他下降路径使用(二叉树)
      lis[num],lis[i] = lis[i],lis[num]

lis = [1,2,3,4]
perm(lis,0,len(lis))

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python字符串和文件操作常用函数分析
Apr 08 Python
浅析Python中的序列化存储的方法
Apr 28 Python
将Python代码打包为jar软件的简单方法
Aug 04 Python
Python的组合模式与责任链模式编程示例
Feb 02 Python
Python中函数及默认参数的定义与调用操作实例分析
Jul 25 Python
使用tensorflow实现线性svm
Sep 07 Python
Python分析彩票记录并预测中奖号码过程详解
Jul 09 Python
opencv调整图像亮度对比度的示例代码
Sep 27 Python
Python enumerate函数遍历数据对象组合过程解析
Dec 11 Python
python3排序的实例方法
Oct 20 Python
Python 可视化神器Plotly详解
Dec 26 Python
利用Python读取微信朋友圈的多种方法总结
Aug 23 Python
Python3加密解密库Crypto的RSA加解密和签名/验签实现方法实例
Feb 11 #Python
python 遗传算法求函数极值的实现代码
Feb 11 #Python
在django中使用apscheduler 执行计划任务的实现方法
Feb 11 #Python
django在保存图像的同时压缩图像示例代码详解
Feb 11 #Python
Python中包的用法及安装
Feb 11 #Python
使用Python实现牛顿法求极值
Feb 10 #Python
关于TensorFlow新旧版本函数接口变化详解
Feb 10 #Python
You might like
frename PHP 灵活文件命名函数 frename
2009/09/09 PHP
$_GET['goods_id']+0 的使用详解
2013/06/06 PHP
PHP简单实现生成txt文件到指定目录的方法
2016/04/25 PHP
Netbeans 8.2与PHP相关的新特性介绍
2016/10/08 PHP
PHP SPL 被遗落的宝石【SPL应用浅析】
2018/04/20 PHP
PHP 二维array转换json的实例讲解
2018/08/21 PHP
javascript 写类方式之五
2009/07/05 Javascript
分享十五个最佳jQuery 幻灯插件和教程
2010/03/27 Javascript
jquery焦点图片切换(数字标注/手动/自动播放/横向滚动)
2013/01/24 Javascript
NodeJS学习笔记之MongoDB模块
2015/01/13 NodeJs
动态JavaScript所造成一些你不知道的危害
2016/09/25 Javascript
实现点击下箭头变上箭头来回切换的两种方法【推荐】
2016/12/14 Javascript
纯JS单页面赛车游戏制作代码分享
2017/03/03 Javascript
详解VueJS应用中管理用户权限
2018/02/02 Javascript
Vue.js轮播图走马灯代码实例(全)
2019/05/08 Javascript
详细介绍Python的鸭子类型
2016/09/12 Python
独特的python循环语句
2016/11/20 Python
python基础while循环及if判断的实例讲解
2017/08/25 Python
python装饰器实例大详解
2017/10/25 Python
Python3简单爬虫抓取网页图片代码实例
2019/08/26 Python
python 队列基本定义与使用方法【初始化、赋值、判断等】
2019/10/24 Python
python绘制雪景图
2019/12/16 Python
使用pickle存储数据dump 和 load实例讲解
2019/12/30 Python
如何使用selenium和requests组合实现登录页面
2020/02/03 Python
python绘制高斯曲线
2021/02/19 Python
美国女士时尚珠宝及配饰购物网站:Icing
2018/07/02 全球购物
英国空调、除湿机和通风设备排名第一:Air Con Centre
2019/02/25 全球购物
环境科学专业个人求职信
2013/12/15 职场文书
运动会获奖感言
2014/02/11 职场文书
文明礼仪演讲稿
2014/05/12 职场文书
协会周年庆活动方案
2014/08/26 职场文书
社区法制宣传月活动总结
2015/05/07 职场文书
《成长的天空》读后感3篇
2019/12/06 职场文书
pytorch 实现在测试的时候启用dropout
2021/05/27 Python
SpringBoot 拦截器妙用你真的了解吗
2021/07/01 Java/Android
JavaScript ES6的函数拓展
2022/01/18 Javascript