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将字符串转换成数组的方法.分享给大家供大家参考.具体实现方法如下: #----------------------------------------- # 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 检查数组元素是否存在类似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对数组进行反转的方法.分享给大家供大家参考.具体实现方法如下: 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获得两个数组交集.并集.差集的房部分.分享给大家供大家参考.具体如下: 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简单获取数组元素个数的方法
本文实例讲述了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实现数组插入新元素的方法.分享给大家供大家参考.具体如下: li=['a', 'b'] li.insert(0,"c") 输出为:['c', 'a', 'b'] li=['a', 'b'] li.insert(-1,"c") 输出为:[ 'a','c', 'b'] 希望本文所述对大家的Python程序设计有所帮助.
-
python实现将元祖转换成数组的方法
本文实例讲述了python实现将元祖转换成数组的方法.分享给大家供大家参考.具体分析如下: python的元祖使用一对小括号表示的,元素是固定的,如果希望添加新的元素,可以先将元祖转换成数组列表,再进行操作 colour_tuple = ("Red","Green","Blue") colour_list = list(colour_tuple) assert colour_list == ["Red","Green
随机推荐
- vue不通过路由直接获取url中参数的方法示例
- BIOS中英文对照表
- javascript下正则匹配百分比的代码
- ASP.NET Core集成微信登录
- php通过文件头判断格式的方法
- 解决C# 截取当前程序窗口指定位置截图的实现方法
- MySQL服务器进程CPU占用100%的解决方法
- 微信小程序电商常用倒计时实现实例
- Bootstrap作品展示站点实战项目2
- Java客户端调用.NET的WebService实例
- Python批量修改文本文件内容的方法
- Ionic实现页面下拉刷新(ion-refresher)功能代码
- JS实现鼠标框选效果完整实例
- java 抽象类与接口的区别总结
- Java selenium处理极验滑动验证码示例
- C#中volatile与lock用法
- Linux下编译redis和phpredis的方法
- 预防游泳时发生头晕和腿抽筋解决方法集锦第1/5页
- Vue 进入/离开动画效果
- Python+tkinter模拟“记住我”自动登录实例代码
