python常规方法实现数组的全排列
本文实例讲述了常规方法实现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简单获取数组元素个数的方法.分享给大家供大家参考.具体如下: 复制代码 代码如下: mySeq = [1,2,3,4,5] print len(mySeq) 运行结果如下: 5 希望本文所述对大家的Python程序设计有所帮助.
-
python对数组进行反转的方法
本文实例讲述了python对数组进行反转的方法.分享给大家供大家参考.具体实现方法如下: arr = [1,2,3] arr.reverse() print(arr) 输出: [3,2,1] 希望本文所述对大家的Python程序设计有所帮助.
-
python数组复制拷贝的实现方法
本文实例讲述了python数组复制拷贝的实现方法.分享给大家供大家参考.具体分析如下: python中直接通过等号赋值实际上只是引用地址的传递 如: a = [1,2,3,4,5] b=a 当a的值改变时,b的值也会随之改变 如果希望b和a没有关系,可以通过下面的方法 a = [1,2,3,4,5] b=a[:] 这样a和b就是两个完全独立的数组,互相不会影响 希望本文所述对大家的Python程序设计有所帮助.
-
python使用append合并两个数组的方法
本文实例讲述了python使用append合并两个数组的方法.分享给大家供大家参考.具体如下: lista = [1,2,3] listb = [4,5,6] mergedlist =[] for elem in lista: mergedlist.append(elem) for elem in listb: mergedlist.append(elem) 希望本文所述对大家的Python程序设计有所帮助.
-
python实现将元祖转换成数组的方法
本文实例讲述了python实现将元祖转换成数组的方法.分享给大家供大家参考.具体分析如下: python的元祖使用一对小括号表示的,元素是固定的,如果希望添加新的元素,可以先将元祖转换成数组列表,再进行操作 colour_tuple = ("Red","Green","Blue") colour_list = list(colour_tuple) assert colour_list == ["Red","Green
-
python获得两个数组交集、并集、差集的方法
本文实例讲述了python获得两个数组交集.并集.差集的房部分.分享给大家供大家参考.具体如下: 1. 获取两个list 的交集 #方法一: a=[2,3,4,5] b=[2,5,8] tmp = [val for val in a if val in b] print tmp #[2, 5] #方法二 print list(set(a).intersection(set(b))) 2. 获取两个list 的并集 print list(set(a).union(set(b))) 3. 获取两个
-
Python 检查数组元素是否存在类似PHP isset()方法
PHP中有isset方法来检查数组元素是否存在,在Python中无对应函数. Python的编程理念是"包容错误"而不是"严格检查".举例如下: 复制代码 代码如下: Look before you leap (LBYL): if idx < len(array): array[idx] else: #handle this Easier to ask forgiveness than permission (EAFP): try: array[idx] ex
-
python实现合并两个数组的方法
本文实例讲述了python实现合并两个数组的方法.分享给大家供大家参考.具体如下: python合并两个数组,将两个数组连接成一个数组,例如,数组 a=[1,2,3] ,数组 b=[4,5,6],连接后:[1,2,3,4,5,6] 方法1 a=[1,2,3] b=[4,5,6] a=a+b 方法2 a=[1,2,3] b=[4,5,6] a.extend(b) 希望本文所述对大家的Python程序设计有所帮助.
-
python实现数组插入新元素的方法
本文实例讲述了python实现数组插入新元素的方法.分享给大家供大家参考.具体如下: li=['a', 'b'] li.insert(0,"c") 输出为:['c', 'a', 'b'] li=['a', 'b'] li.insert(-1,"c") 输出为:[ 'a','c', 'b'] 希望本文所述对大家的Python程序设计有所帮助.
-
python将字符串转换成数组的方法
python将字符串转换成数组的方法.分享给大家供大家参考.具体实现方法如下: #----------------------------------------- # Name: string_to_array.py # Author: Kevin Harris # Last Modified: 02/13/04 # Description: This Python script demonstrates # how to modify a string by # converting it
-
python遍历数组的方法小结
本文实例总结了python遍历数组的方法.分享给大家供大家参考.具体分析如下: 下面介绍两种遍历数组的方法,一种是直接通过for in 遍历数组,另外一种是通过rang函数先获得数组长度,在根据索引遍历数组 第一种,最常用的,通过for in遍历数组 colours = ["red","green","blue"] for colour in colours: print colour # red # green # blue 下面的方法可以先获
随机推荐
- PLSQL Developer登录的默认密码介绍
- asp的SQL语句中and和or同时使用的注意事项
- Shell编程中的特殊变量之位置变量介绍
- 收集的ASP.NET中常用正则表达式
- 腾讯云Ubuntu14.04安装Tomcat8教程
- java学习之路_篇超好的文章第1/3页
- 如何高效率去掉js数组中的重复项
- 解析php开发中的中文编码问题
- phpQuery让php处理html代码像jQuery一样方便
- linux shell脚本基础知识学习
- django模型中的字段和model名显示为中文小技巧分享
- 基于jQuery实现二级下拉菜单效果
- IP安全策略 关闭端口说明
- VC外部符号错误_main,_WinMain@16,__beginthreadex解决方法
- WindowManagerService服务是如何以堆栈的形式来组织窗口
- Android 监听锁屏、解锁、开屏 功能代码
- 小程序云开发实现数据库异步操作同步化
- Python使用pyserial进行串口通信的实例
- Vue通过for循环随机生成不同的颜色或随机数的实例
- Spring Cloud Stream异常处理过程解析