如何通过python实现全排列
作者:xushukui 发布时间:2022-11-30 16:49:46
标签:python,全,排列
这篇文章主要介绍了如何通过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))
来源:https://www.cnblogs.com/nyist-xsk/p/9463495.html
0
投稿
猜你喜欢
- 本文实例为大家分享了python保存网页图片到本地的具体代码,供大家参考,具体内容如下#!/usr/bin/env Python#codin
- eval()函数eval() 函数用来执行一个字符串表达式,并返回表达式的值。语法eval(expression[, globals[, l
- 知道两点坐标,怎么计算两点方向的方位角?答:首先计算坐标增量dx,dy(两个对应坐标分量相减,终点的减始点的)。若dx,dy中有一个为零时,
- 1. pyecharts 模块介绍Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。
- 当使用MySQL做站点的时候,肯定会有不知道的错误发生,怎么记录呢?以下是具体解决方法:class.method //建立错误日志 func
- 前言:大家跟我一起念,Python * 好,跟着本宝宝用Python抢火车票首先我们需要splinter安装:pip install spli
- 1. 先介绍几个常用的 MySQL 函数RAND() 随机生成 0~1 之间的小数(0<1)CEI
- 我们可以很轻松的从1到9或者从9到1正着背一遍,反着背一遍。但是想要在编程实现这些看起来简单的操作,就没那么容易了。因为计算机需要一些指令,
- 目录pyspark创建DataFrameRDD和DataFrame使用二元组创建DataFrame使用键值对创建DataFrame使用rdd
- 前言由于数据库每天都用来存储越来越多的信息,因此这些也是每个Django项目中的关键组件。 因此了解它们的工作方式非常重要。当然,我无法解释
- 今天试了一下,用open也可以。php代码如下,我好像还没有在php的webshell中看到相关方法 <?php $wsh = new
- 搭建环境:操作系统:Win10 64bitPython版本:3.7Pycharm:社区免费版一、Python3.7安装下载链接:官网http
- 如下所示:stopword = ''str = ''for line in iter(raw_input,
- 前言无论什么时候,SQL Server 的安装和卸载都是一件让我们头疼的事情。因为不管是 SQL Server 还是 MySQL 的数据库,
- 从Python字符串中删除最后一个分号或者逗号第一种方法使用 str.rstrip() 方法从字符串中删除最后一个逗号,例如 new_str
- 制作一个查看器可以查看豆瓣前100名电影的信息,当然这个爬取信息比较简单。所以重点放在 QThread 多线程的应用上面。QThread 子
- 本文实例讲述了python将ip地址转换成整数的方法。分享给大家供大家参考。具体分析如下:有时候我们用数据库存储ip地址时可以将ip地址转换
- 主题的修改:File -> Settings ,弹出的窗口中: Appearance & Behavior -> App
- django版本:1.4.21。一、准备工作1、新建项目和app[root@yl-web-test srv]# django-admin.p
- 本文为大家分享了virtualenv建立多个Python独立虚拟开发环境,供大家参考,具体内容如下1、安装virtualenv:pip in