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遍历数组的方法.分享给大家供大家参考.具体分析如下: 下面介绍两种遍历数组的方法,一种是直接通过for in 遍历数组,另外一种是通过rang函数先获得数组长度,在根据索引遍历数组 第一种,最常用的,通过for in遍历数组 colours = ["red","green","blue"] for colour in colours: print colour # red # green # blue 下面的方法可以先获
-
python对数组进行反转的方法
本文实例讲述了python对数组进行反转的方法.分享给大家供大家参考.具体实现方法如下: arr = [1,2,3] arr.reverse() print(arr) 输出: [3,2,1] 希望本文所述对大家的Python程序设计有所帮助.
-
python简单获取数组元素个数的方法
本文实例讲述了python简单获取数组元素个数的方法.分享给大家供大家参考.具体如下: 复制代码 代码如下: mySeq = [1,2,3,4,5] print len(mySeq) 运行结果如下: 5 希望本文所述对大家的Python程序设计有所帮助.
-
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数组复制拷贝的实现方法.分享给大家供大家参考.具体分析如下: 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实现数组插入新元素的方法
本文实例讲述了python实现数组插入新元素的方法.分享给大家供大家参考.具体如下: li=['a', 'b'] li.insert(0,"c") 输出为:['c', 'a', 'b'] li=['a', 'b'] li.insert(-1,"c") 输出为:[ 'a','c', '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 检查数组元素是否存在类似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将字符串转换成数组的方法.分享给大家供大家参考.具体实现方法如下: #----------------------------------------- # 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实现将元祖转换成数组的方法.分享给大家供大家参考.具体分析如下: 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. 获取两个
随机推荐
- 用来猜后台的HTA小程序
- 由ReactJS的Hello world说开来
- 在ORACLE中SELECT TOP N的实现方法
- Javascript 浮点运算的问题分析与解决方法
- JavaScript计划任务后台运行的方法
- Zend Framework使用Zend_Loader组件动态加载文件和类用法详解
- ThinkPHP权限认证Auth实例详解
- C# 屏蔽由于崩溃弹出的windows异常弹框
- C语言内嵌汇编API内存搜索引擎实例
- System 类 和 Runtime 类的常用用法介绍
- Jquery Ajax解析XML数据(同步及异步调用)简单实例
- jquery动态添加删除(tr/td)
- ubuntu使用root用户登录/切换root权限的实现
- MySQL存储过程中使用WHILE循环语句的方法
- jquery实现滑屏大图定时收缩为小banner图片的广告代码
- Android实现摇一摇功能
- C语言 结构体和指针详解及简单示例
- JAVA面试题之Forward与Redirect的区别详解
- c/c++ 奇技淫巧(一些c语言的技巧)
- 建站去IDC为您提供60M免费全能型空间服务