如何通过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生成指定尺寸缩略图的示例
May 07 Python
PHP魔术方法__ISSET、__UNSET使用实例
Nov 25 Python
Python 实现简单的电话本功能
Aug 09 Python
python使用arcpy.mapping模块批量出图
Mar 06 Python
浅谈Python处理PDF的方法
Nov 10 Python
python sys,os,time模块的使用(包括时间格式的各种转换)
Apr 27 Python
pandas筛选某列出现编码错误的解决方法
Nov 07 Python
使用python绘制3维正态分布图的方法
Dec 29 Python
pytorch模型预测结果与ndarray互转方式
Jan 15 Python
python交互模式基础知识点学习
Jun 18 Python
如何清空python的变量
Jul 05 Python
python爬虫要用到的库总结
Jul 28 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
PHP 循环删除无限分类子节点的实现代码
2013/06/21 PHP
常见的四种POST 提交数据方式(小总结)
2015/10/08 PHP
PHP和C#可共用的可逆加密算法详解
2015/10/26 PHP
图片连续滚动代码[兼容IE/firefox]
2009/06/11 Javascript
监控 url fragment变化的js代码
2010/04/19 Javascript
js window.onload 加载多个函数和追加函数详解
2014/01/08 Javascript
JavaScript link方法入门实例(给字符串加上超链接)
2014/10/17 Javascript
node.js中的fs.readSync方法使用说明
2014/12/17 Javascript
javascript中cookie对象用法实例分析
2015/01/30 Javascript
javascript生成不重复的随机数
2015/07/17 Javascript
JavaScript 中 apply 、call 的详解
2017/03/21 Javascript
原生JS实现图片网格式渐显、渐隐效果
2017/06/05 Javascript
JavaScript原型继承_动力节点Java学院整理
2017/06/30 Javascript
vue不通过路由直接获取url中参数的方法示例
2017/08/24 Javascript
vue.js中created方法作用
2018/03/30 Javascript
vue2.0父子组件间传递数据的方法
2018/08/16 Javascript
vue2中,根据list的id进入对应的详情页并修改title方法
2018/08/24 Javascript
js实现倒计时秒杀效果
2020/03/25 Javascript
基于jquery实现彩色投票进度条代码解析
2020/08/26 jQuery
python操作MySQL数据库具体方法
2013/10/28 Python
python基础之入门必看操作
2017/07/26 Python
python机器学习实战之最近邻kNN分类器
2017/12/20 Python
Python yield与实现方法代码分析
2018/02/06 Python
python自动12306抢票软件实现代码
2018/02/24 Python
对python PLT中的image和skimage处理图片方法详解
2019/01/10 Python
Python基础之条件控制操作示例【if语句】
2019/03/23 Python
python如何遍历指定路径下所有文件(按按照时间区间检索)
2020/09/14 Python
CSS3之多背景background使用示例
2013/10/18 HTML / CSS
全球工业:Global Industrial
2020/02/01 全球购物
犹他州最古老的体育用品公司:Al’s
2020/12/18 全球购物
优秀党员申报材料
2014/12/18 职场文书
工人先进事迹材料
2014/12/26 职场文书
祝寿主持词
2015/07/02 职场文书
2016创先争优活动党员公开承诺书
2016/03/24 职场文书
适合青年人白手起家的创业项目分享
2019/08/16 职场文书
2019年市场部个人述职报告(三篇)
2019/10/23 职场文书