这个问题在之前的文章应该涉及到了,这里简单回顾一下,下面是简单的实现:

#!usr/bin/env python
#encoding:utf-8'''
__Author__:沂水寒城
功能:字符串的全排序
'''def get_string_all_sorts(one_str):'''返回字符串的全排列'''res_list=[]all_sorts([],one_str,res_list)return res_listdef all_sorts(tmp_list, one_str, res_list):'''递归找到全排列'''if not one_str:res_list.append(tmp_list+[])for i in range(len(one_str)):tmp_list.append(one_str[i])all_sorts(tmp_list, one_str[:i]+one_str[i+1:], res_list)tmp_list.pop()if __name__ == '__main__':one_str_list=['1234','abcd','yvwxyz','lkhj']for one_str in one_str_list:new_list=[''.join(one) for one in get_string_all_sorts(one_str)]print '{0}全排序数量为:{1}'.format(one_str, len(new_list))print '{0}的全排列组合为:{1}'.format(one_str, new_list)

结果如下:

1234全排序数量为:24
1234的全排列组合为:['1234', '1243', '1324', '1342', '1423', '1432', '2134', '2143', '2314', '2341', '2413', '2431', '3124', '3142', '3214', '3241', '3412', '3421', '4123', '4132', '4213', '4231', '4312', '4321']
abcd全排序数量为:24
abcd的全排列组合为:['abcd', 'abdc', 'acbd', 'acdb', 'adbc', 'adcb', 'bacd', 'badc', 'bcad', 'bcda', 'bdac', 'bdca', 'cabd', 'cadb', 'cbad', 'cbda', 'cdab', 'cdba', 'dabc', 'dacb', 'dbac', 'dbca', 'dcab', 'dcba']
yvwxyz全排序数量为:720
yvwxyz的全排列组合为:['yvwxyz', 'yvwxzy', 'yvwyxz', 'yvwyzx', 'yvwzxy', 'yvwzyx', 'yvxwyz', 'yvxwzy', 'yvxywz', 'yvxyzw', 'yvxzwy', 'yvxzyw', 'yvywxz', 'yvywzx', 'yvyxwz', 'yvyxzw', 'yvyzwx', 'yvyzxw', 'yvzwxy', 'yvzwyx', 'yvzxwy', 'yvzxyw', 'yvzywx', 'yvzyxw', 'ywvxyz', 'ywvxzy', 'ywvyxz', 'ywvyzx', 'ywvzxy', 'ywvzyx', 'ywxvyz', 'ywxvzy', 'ywxyvz', 'ywxyzv', 'ywxzvy', 'ywxzyv', 'ywyvxz', 'ywyvzx', 'ywyxvz', 'ywyxzv', 'ywyzvx', 'ywyzxv', 'ywzvxy', 'ywzvyx', 'ywzxvy', 'ywzxyv', 'ywzyvx', 'ywzyxv', 'yxvwyz', 'yxvwzy', 'yxvywz', 'yxvyzw', 'yxvzwy', 'yxvzyw', 'yxwvyz', 'yxwvzy', 'yxwyvz', 'yxwyzv', 'yxwzvy', 'yxwzyv', 'yxyvwz', 'yxyvzw', 'yxywvz', 'yxywzv', 'yxyzvw', 'yxyzwv', 'yxzvwy', 'yxzvyw', 'yxzwvy', 'yxzwyv', 'yxzyvw', 'yxzywv', 'yyvwxz', 'yyvwzx', 'yyvxwz', 'yyvxzw', 'yyvzwx', 'yyvzxw', 'yywvxz', 'yywvzx', 'yywxvz', 'yywxzv', 'yywzvx', 'yywzxv', 'yyxvwz', 'yyxvzw', 'yyxwvz', 'yyxwzv', 'yyxzvw', 'yyxzwv', 'yyzvwx', 'yyzvxw', 'yyzwvx', 'yyzwxv', 'yyzxvw', 'yyzxwv', 'yzvwxy', 'yzvwyx', 'yzvxwy', 'yzvxyw', 'yzvywx', 'yzvyxw', 'yzwvxy', 'yzwvyx', 'yzwxvy', 'yzwxyv', 'yzwyvx', 'yzwyxv', 'yzxvwy', 'yzxvyw', 'yzxwvy', 'yzxwyv', 'yzxyvw', 'yzxywv', 'yzyvwx', 'yzyvxw', 'yzywvx', 'yzywxv', 'yzyxvw', 'yzyxwv', 'vywxyz', 'vywxzy', 'vywyxz', 'vywyzx', 'vywzxy', 'vywzyx', 'vyxwyz', 'vyxwzy', 'vyxywz', 'vyxyzw', 'vyxzwy', 'vyxzyw', 'vyywxz', 'vyywzx', 'vyyxwz', 'vyyxzw', 'vyyzwx', 'vyyzxw', 'vyzwxy', 'vyzwyx', 'vyzxwy', 'vyzxyw', 'vyzywx', 'vyzyxw', 'vwyxyz', 'vwyxzy', 'vwyyxz', 'vwyyzx', 'vwyzxy', 'vwyzyx', 'vwxyyz', 'vwxyzy', 'vwxyyz', 'vwxyzy', 'vwxzyy', 'vwxzyy', 'vwyyxz', 'vwyyzx', 'vwyxyz', 'vwyxzy', 'vwyzyx', 'vwyzxy', 'vwzyxy', 'vwzyyx', 'vwzxyy', 'vwzxyy', 'vwzyyx', 'vwzyxy', 'vxywyz', 'vxywzy', 'vxyywz', 'vxyyzw', 'vxyzwy', 'vxyzyw', 'vxwyyz', 'vxwyzy', 'vxwyyz', 'vxwyzy', 'vxwzyy', 'vxwzyy', 'vxyywz', 'vxyyzw', 'vxywyz', 'vxywzy', 'vxyzyw', 'vxyzwy', 'vxzywy', 'vxzyyw', 'vxzwyy', 'vxzwyy', 'vxzyyw', 'vxzywy', 'vyywxz', 'vyywzx', 'vyyxwz', 'vyyxzw', 'vyyzwx', 'vyyzxw', 'vywyxz', 'vywyzx', 'vywxyz', 'vywxzy', 'vywzyx', 'vywzxy', 'vyxywz', 'vyxyzw', 'vyxwyz', 'vyxwzy', 'vyxzyw', 'vyxzwy', 'vyzywx', 'vyzyxw', 'vyzwyx', 'vyzwxy', 'vyzxyw', 'vyzxwy', 'vzywxy', 'vzywyx', 'vzyxwy', 'vzyxyw', 'vzyywx', 'vzyyxw', 'vzwyxy', 'vzwyyx', 'vzwxyy', 'vzwxyy', 'vzwyyx', 'vzwyxy', 'vzxywy', 'vzxyyw', 'vzxwyy', 'vzxwyy', 'vzxyyw', 'vzxywy', 'vzyywx', 'vzyyxw', 'vzywyx', 'vzywxy', 'vzyxyw', 'vzyxwy', 'wyvxyz', 'wyvxzy', 'wyvyxz', 'wyvyzx', 'wyvzxy', 'wyvzyx', 'wyxvyz', 'wyxvzy', 'wyxyvz', 'wyxyzv', 'wyxzvy', 'wyxzyv', 'wyyvxz', 'wyyvzx', 'wyyxvz', 'wyyxzv', 'wyyzvx', 'wyyzxv', 'wyzvxy', 'wyzvyx', 'wyzxvy', 'wyzxyv', 'wyzyvx', 'wyzyxv', 'wvyxyz', 'wvyxzy', 'wvyyxz', 'wvyyzx', 'wvyzxy', 'wvyzyx', 'wvxyyz', 'wvxyzy', 'wvxyyz', 'wvxyzy', 'wvxzyy', 'wvxzyy', 'wvyyxz', 'wvyyzx', 'wvyxyz', 'wvyxzy', 'wvyzyx', 'wvyzxy', 'wvzyxy', 'wvzyyx', 'wvzxyy', 'wvzxyy', 'wvzyyx', 'wvzyxy', 'wxyvyz', 'wxyvzy', 'wxyyvz', 'wxyyzv', 'wxyzvy', 'wxyzyv', 'wxvyyz', 'wxvyzy', 'wxvyyz', 'wxvyzy', 'wxvzyy', 'wxvzyy', 'wxyyvz', 'wxyyzv', 'wxyvyz', 'wxyvzy', 'wxyzyv', 'wxyzvy', 'wxzyvy', 'wxzyyv', 'wxzvyy', 'wxzvyy', 'wxzyyv', 'wxzyvy', 'wyyvxz', 'wyyvzx', 'wyyxvz', 'wyyxzv', 'wyyzvx', 'wyyzxv', 'wyvyxz', 'wyvyzx', 'wyvxyz', 'wyvxzy', 'wyvzyx', 'wyvzxy', 'wyxyvz', 'wyxyzv', 'wyxvyz', 'wyxvzy', 'wyxzyv', 'wyxzvy', 'wyzyvx', 'wyzyxv', 'wyzvyx', 'wyzvxy', 'wyzxyv', 'wyzxvy', 'wzyvxy', 'wzyvyx', 'wzyxvy', 'wzyxyv', 'wzyyvx', 'wzyyxv', 'wzvyxy', 'wzvyyx', 'wzvxyy', 'wzvxyy', 'wzvyyx', 'wzvyxy', 'wzxyvy', 'wzxyyv', 'wzxvyy', 'wzxvyy', 'wzxyyv', 'wzxyvy', 'wzyyvx', 'wzyyxv', 'wzyvyx', 'wzyvxy', 'wzyxyv', 'wzyxvy', 'xyvwyz', 'xyvwzy', 'xyvywz', 'xyvyzw', 'xyvzwy', 'xyvzyw', 'xywvyz', 'xywvzy', 'xywyvz', 'xywyzv', 'xywzvy', 'xywzyv', 'xyyvwz', 'xyyvzw', 'xyywvz', 'xyywzv', 'xyyzvw', 'xyyzwv', 'xyzvwy', 'xyzvyw', 'xyzwvy', 'xyzwyv', 'xyzyvw', 'xyzywv', 'xvywyz', 'xvywzy', 'xvyywz', 'xvyyzw', 'xvyzwy', 'xvyzyw', 'xvwyyz', 'xvwyzy', 'xvwyyz', 'xvwyzy', 'xvwzyy', 'xvwzyy', 'xvyywz', 'xvyyzw', 'xvywyz', 'xvywzy', 'xvyzyw', 'xvyzwy', 'xvzywy', 'xvzyyw', 'xvzwyy', 'xvzwyy', 'xvzyyw', 'xvzywy', 'xwyvyz', 'xwyvzy', 'xwyyvz', 'xwyyzv', 'xwyzvy', 'xwyzyv', 'xwvyyz', 'xwvyzy', 'xwvyyz', 'xwvyzy', 'xwvzyy', 'xwvzyy', 'xwyyvz', 'xwyyzv', 'xwyvyz', 'xwyvzy', 'xwyzyv', 'xwyzvy', 'xwzyvy', 'xwzyyv', 'xwzvyy', 'xwzvyy', 'xwzyyv', 'xwzyvy', 'xyyvwz', 'xyyvzw', 'xyywvz', 'xyywzv', 'xyyzvw', 'xyyzwv', 'xyvywz', 'xyvyzw', 'xyvwyz', 'xyvwzy', 'xyvzyw', 'xyvzwy', 'xywyvz', 'xywyzv', 'xywvyz', 'xywvzy', 'xywzyv', 'xywzvy', 'xyzyvw', 'xyzywv', 'xyzvyw', 'xyzvwy', 'xyzwyv', 'xyzwvy', 'xzyvwy', 'xzyvyw', 'xzywvy', 'xzywyv', 'xzyyvw', 'xzyywv', 'xzvywy', 'xzvyyw', 'xzvwyy', 'xzvwyy', 'xzvyyw', 'xzvywy', 'xzwyvy', 'xzwyyv', 'xzwvyy', 'xzwvyy', 'xzwyyv', 'xzwyvy', 'xzyyvw', 'xzyywv', 'xzyvyw', 'xzyvwy', 'xzywyv', 'xzywvy', 'yyvwxz', 'yyvwzx', 'yyvxwz', 'yyvxzw', 'yyvzwx', 'yyvzxw', 'yywvxz', 'yywvzx', 'yywxvz', 'yywxzv', 'yywzvx', 'yywzxv', 'yyxvwz', 'yyxvzw', 'yyxwvz', 'yyxwzv', 'yyxzvw', 'yyxzwv', 'yyzvwx', 'yyzvxw', 'yyzwvx', 'yyzwxv', 'yyzxvw', 'yyzxwv', 'yvywxz', 'yvywzx', 'yvyxwz', 'yvyxzw', 'yvyzwx', 'yvyzxw', 'yvwyxz', 'yvwyzx', 'yvwxyz', 'yvwxzy', 'yvwzyx', 'yvwzxy', 'yvxywz', 'yvxyzw', 'yvxwyz', 'yvxwzy', 'yvxzyw', 'yvxzwy', 'yvzywx', 'yvzyxw', 'yvzwyx', 'yvzwxy', 'yvzxyw', 'yvzxwy', 'ywyvxz', 'ywyvzx', 'ywyxvz', 'ywyxzv', 'ywyzvx', 'ywyzxv', 'ywvyxz', 'ywvyzx', 'ywvxyz', 'ywvxzy', 'ywvzyx', 'ywvzxy', 'ywxyvz', 'ywxyzv', 'ywxvyz', 'ywxvzy', 'ywxzyv', 'ywxzvy', 'ywzyvx', 'ywzyxv', 'ywzvyx', 'ywzvxy', 'ywzxyv', 'ywzxvy', 'yxyvwz', 'yxyvzw', 'yxywvz', 'yxywzv', 'yxyzvw', 'yxyzwv', 'yxvywz', 'yxvyzw', 'yxvwyz', 'yxvwzy', 'yxvzyw', 'yxvzwy', 'yxwyvz', 'yxwyzv', 'yxwvyz', 'yxwvzy', 'yxwzyv', 'yxwzvy', 'yxzyvw', 'yxzywv', 'yxzvyw', 'yxzvwy', 'yxzwyv', 'yxzwvy', 'yzyvwx', 'yzyvxw', 'yzywvx', 'yzywxv', 'yzyxvw', 'yzyxwv', 'yzvywx', 'yzvyxw', 'yzvwyx', 'yzvwxy', 'yzvxyw', 'yzvxwy', 'yzwyvx', 'yzwyxv', 'yzwvyx', 'yzwvxy', 'yzwxyv', 'yzwxvy', 'yzxyvw', 'yzxywv', 'yzxvyw', 'yzxvwy', 'yzxwyv', 'yzxwvy', 'zyvwxy', 'zyvwyx', 'zyvxwy', 'zyvxyw', 'zyvywx', 'zyvyxw', 'zywvxy', 'zywvyx', 'zywxvy', 'zywxyv', 'zywyvx', 'zywyxv', 'zyxvwy', 'zyxvyw', 'zyxwvy', 'zyxwyv', 'zyxyvw', 'zyxywv', 'zyyvwx', 'zyyvxw', 'zyywvx', 'zyywxv', 'zyyxvw', 'zyyxwv', 'zvywxy', 'zvywyx', 'zvyxwy', 'zvyxyw', 'zvyywx', 'zvyyxw', 'zvwyxy', 'zvwyyx', 'zvwxyy', 'zvwxyy', 'zvwyyx', 'zvwyxy', 'zvxywy', 'zvxyyw', 'zvxwyy', 'zvxwyy', 'zvxyyw', 'zvxywy', 'zvyywx', 'zvyyxw', 'zvywyx', 'zvywxy', 'zvyxyw', 'zvyxwy', 'zwyvxy', 'zwyvyx', 'zwyxvy', 'zwyxyv', 'zwyyvx', 'zwyyxv', 'zwvyxy', 'zwvyyx', 'zwvxyy', 'zwvxyy', 'zwvyyx', 'zwvyxy', 'zwxyvy', 'zwxyyv', 'zwxvyy', 'zwxvyy', 'zwxyyv', 'zwxyvy', 'zwyyvx', 'zwyyxv', 'zwyvyx', 'zwyvxy', 'zwyxyv', 'zwyxvy', 'zxyvwy', 'zxyvyw', 'zxywvy', 'zxywyv', 'zxyyvw', 'zxyywv', 'zxvywy', 'zxvyyw', 'zxvwyy', 'zxvwyy', 'zxvyyw', 'zxvywy', 'zxwyvy', 'zxwyyv', 'zxwvyy', 'zxwvyy', 'zxwyyv', 'zxwyvy', 'zxyyvw', 'zxyywv', 'zxyvyw', 'zxyvwy', 'zxywyv', 'zxywvy', 'zyyvwx', 'zyyvxw', 'zyywvx', 'zyywxv', 'zyyxvw', 'zyyxwv', 'zyvywx', 'zyvyxw', 'zyvwyx', 'zyvwxy', 'zyvxyw', 'zyvxwy', 'zywyvx', 'zywyxv', 'zywvyx', 'zywvxy', 'zywxyv', 'zywxvy', 'zyxyvw', 'zyxywv', 'zyxvyw', 'zyxvwy', 'zyxwyv', 'zyxwvy']
lkhj全排序数量为:24
lkhj的全排列组合为:['lkhj', 'lkjh', 'lhkj', 'lhjk', 'ljkh', 'ljhk', 'klhj', 'kljh', 'khlj', 'khjl', 'kjlh', 'kjhl', 'hlkj', 'hljk', 'hklj', 'hkjl', 'hjlk', 'hjkl', 'jlkh', 'jlhk', 'jklh', 'jkhl', 'jhlk', 'jhkl']
[Finished in 0.3s]

递归问题学习三之生成指定字符串的全排序相关推荐

  1. python3.4学习笔记(二十一) python实现指定字符串补全空格、前面填充0的方法

    python3.4学习笔记(二十一) python实现指定字符串补全空格.前面填充0的方法 Python zfill()方法返回指定长度的字符串,原字符串右对齐,前面填充0. zfill()方法语法: ...

  2. python字符串补空格输出_python实现指定字符串补全空格、前面填充0的方法

    Python zfill()方法返回指定长度的字符串,原字符串右对齐,前面填充0. zfill()方法语法:str.zfill(width) 参数width -- 指定字符串的长度.原字符串右对齐,前 ...

  3. python每个字符后添加空格_python实现指定字符串补全空格的方法

    有什么方法可以指定字符串长度,不够的自动补空格 char定义的是一个半角字符. 当人心变成市场,当市场变成战场,战场埋葬多少理想. char[]定义的是一个不定长的数组,实际上是指针,用前要初始化.不 ...

  4. 大数据学习笔记21:MR案例——分区全排序

    文章目录 一.提出任务 二.准备工作 1.启动hadoop服务 2.上传数据文件到HDFS 3.创建Maven项目PartitionSort 4.修改pom.xml文件,添加依赖 5.创建log4j. ...

  5. 生成随机字符串(三种方式)

    生成随机字符串(三种方式) 一.org.apache.commons.lang包下有一个RandomStringUtils类,其中有一个randomAlphanumeric(int length)函数 ...

  6. java实现生成指定位数随机字符串要求包含数字大小写字母三种类型字符

    今天接到一个初始密码生成的需求,要求生成的密码长度在8-16位,其中必须包含数字.大写字母.小写字母.平常都是使用hutool工具类进行字符处理,发现没有提供满足要求的方法,自己就根据现有的方法组装实 ...

  7. python3查找文件中指定字符串_Python3在指定路径下递归定位文件中出现的字符串...

    [本文出自天外归云的博客园] 脚本功能:在指定的路径下递归搜索,找出指定字符串在文件中出现的位置(行信息). 用到的python特性: 代码如下: import os import sys __all ...

  8. php随机分配的方法,PHP生成指定随机字符串的简单实现方法

    搜索热词 本文实例讲述了PHP生成指定随机字符串的简单实现方法.分享给大家供大家参考.具体分析如下: 这是一个简单的函数,没有对生成的内容作强制设定.所以在生成的字符串长度较少的时候,会出现没有指定类 ...

  9. MySQL 生成指定长度的随机字符串

    2019独角兽企业重金招聘Python工程师标准>>> 1.生成指定长度英文字符串的函数 DELIMITER $$ create function rand_string (n in ...

  10. shell 生成指定范围随机数与随机字符串 .

    shell 生成指定范围随机数与随机字符串         分类:             shell              2014-04-22 22:17     20902人阅读     评 ...

最新文章

  1. 基于TensorFlow打造强化学习API:TensorForce是怎样炼成的?
  2. docker-runc not installed on system 问题
  3. 解决Incorrect integer value: ‘‘ for column问题
  4. 如何在Twitter上阻止令人讨厌的“今日热门新闻@yourname”垃圾邮件
  5. 香橼做空跟谁学发第三枪 跟谁学股价盘后下跌1.37%
  6. php6.2手机端网站,网站开发-php开发手机论坛(6)-登陆注册(2)
  7. 专题四——线段树、树状数组
  8. 使用MSChart控件绘制图表。
  9. Win10系统蓝屏错误DPC怎么解决【系统天地】
  10. ubuntu下鼠标右键没有新建文档?
  11. interface Ethernet 0/0/0 和interface GigabitEthernet 1/0/0
  12. 怎么用js代码画一棵树,附带下载链接
  13. 联想thinkpad E430C硬盘位换为固态,硬盘放于光驱位(win7+win10+ubuntu三系统安装教程)
  14. [爬虫] Python监测L优惠券发放网站并通过邮件通知我
  15. vc9.vc11.vc14_vc解释了为什么vc现在如此生气
  16. 1945-计算弹跳高度
  17. 2017年中秋前记录
  18. js判断IE浏览器(包括IE11)
  19. python获取模块的名称_python获取当前模块的名称
  20. linux 导出dump文件

热门文章

  1. Community Enterprise Operating System ISO 全镜像下载
  2. Linux使用 tar命令-g参数进行增量+差异备份、还原文件
  3. python易错盲点排查之+=与+的区别分析以及一些赋值运算踩过的坑
  4. 三省2:hadoop是什么鬼1
  5. asp.net 操作Excel大全
  6. 【USACO】sprime
  7. python写入日志文件时日志内容重复写入
  8. 【转】C++拷贝构造函数详解
  9. nodepad代码格式复制到word发布到博客
  10. 快递小哥逆袭自传:用了6年时间做到了IT部门主管