python常规方法实现数组的全排列


Posted in Python onMarch 17, 2015

本文实例讲述了常规方法实现python数组的全排列操作。分享给大家供大家参考。具体分析如下:

全排列解释:从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。

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

调用方法:

if __name__=='__main__': 
  """ default param is list(1,2,3,4,5) """
  l=[]; 
  if(len(sys.argv)<=1): 
    """input=['%d' %(i) for i in xrange(1,6)]"""
    l=list((1,2,3,4,5))
  else:#input param looks like "2,3,4,5,6",no legal checks here.
    input=str(sys.argv[1])
    l=input.split(",") 
    for i in xrange(len(l)): 
      l[i] = int(l[i]) 
  print perm(l)

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Python的加密模块md5、sha、crypt使用实例
Sep 28 Python
理解Python中的With语句
Mar 18 Python
详解使用python crontab设置linux定时任务
Dec 08 Python
python shell根据ip获取主机名代码示例
Nov 25 Python
Python递归实现汉诺塔算法示例
Mar 19 Python
python逆序打印各位数字的方法
Jun 25 Python
python 用opencv调用训练好的模型进行识别的方法
Dec 07 Python
python自定义函数实现一个数的三次方计算方法
Jan 20 Python
OpenCV+Python识别车牌和字符分割的实现
Jan 31 Python
PyQt4实时显示文本内容GUI的示例
Jun 14 Python
Python学习之os模块及用法
Jun 03 Python
Python 串口通信的实现
Sep 29 Python
python标准算法实现数组全排列的方法
Mar 17 #Python
Python网页解析利器BeautifulSoup安装使用介绍
Mar 17 #Python
python回溯法实现数组全排列输出实例分析
Mar 17 #Python
使用Python实现下载网易云音乐的高清MV
Mar 16 #Python
python使用点操作符访问字典(dict)数据的方法
Mar 16 #Python
python用来获得图片exif信息的库实例分析
Mar 16 #Python
python通过pil模块获得图片exif信息的方法
Mar 16 #Python
You might like
PHP基于CURL进行POST数据上传实例
2014/11/10 PHP
jQuery读取和设定KindEditor值的方法
2013/11/22 Javascript
angularjs创建弹出框实现拖动效果
2020/08/25 Javascript
jQuery实现HTML表格单元格的合并功能
2016/04/06 Javascript
jQuery的层级查找方式分析
2016/06/16 Javascript
nodejs 子进程正确的打开方式
2017/07/03 NodeJs
浅谈在vue中使用mint-ui swipe遇到的问题
2018/09/27 Javascript
微信小程序全局变量功能与用法详解
2019/01/22 Javascript
JS求1到任意数之间的所有质数的方法详解
2019/05/20 Javascript
vue组件中节流函数的失效的原因和解决方法
2020/12/02 Vue.js
[01:28:56]2014 DOTA2华西杯精英邀请赛 5 24 CIS VS DK
2014/05/26 DOTA
跟老齐学Python之集合的关系
2014/09/24 Python
详解Django+uwsgi+Nginx上线最佳实战
2019/03/14 Python
python编写简单端口扫描器
2019/09/04 Python
python统计指定目录内文件的代码行数
2019/09/19 Python
在Python中画图(基于Jupyter notebook的魔法函数)
2019/10/28 Python
Django设置Postgresql的操作
2020/05/14 Python
浅析Python 多行匹配模式
2020/07/24 Python
你应该知道的30个css选择器
2014/03/19 HTML / CSS
HTML5视频支持检测(检查浏览器是否支持视频播放)
2013/06/08 HTML / CSS
HTML5轻松实现全屏视频背景的示例
2018/04/23 HTML / CSS
英国最大的经认证的有机超市:Planet Organic
2018/02/02 全球购物
英国假发网站:Hothair
2018/02/23 全球购物
Keds加拿大官网:购买帆布运动鞋和皮鞋
2019/09/26 全球购物
Audible英国:有声读物,30天免费试用
2019/10/16 全球购物
中文系师范生自荐信
2013/10/01 职场文书
国际会议邀请函范文
2014/01/16 职场文书
英语专业学生个人求职信
2014/01/28 职场文书
企业文化标语口号
2014/06/09 职场文书
验房委托书
2014/08/30 职场文书
农业项目合作意向书
2015/05/08 职场文书
陪护人员误工证明
2015/06/24 职场文书
python 爬取京东指定商品评论并进行情感分析
2021/05/27 Python
上帝为你开了一扇窗之Tkinter常用函数详解
2021/06/02 Python
使用goaccess分析nginx日志的详细方法
2021/07/09 Servers
Python编程根据字典列表相同键的值进行合并
2021/10/05 Python