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

Jade ·
更新时间:2024-09-21
· 637 次阅读

本文实例讲述了常规方法实现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程序设计有所帮助。

您可能感兴趣的文章:python3实现字符串的全排列的方法(无重复字符)python使用递归解决全排列数字示例python回溯法实现数组全排列输出实例分析python不带重复的全排列代码python非递归全排列实现方法python递归全排列实现方法Python实现全排列的打印Python基于回溯法子集树模板解决全排列问题示例Python字符串的全排列算法实例详解



排列 方法 全排列 Python 数组

需要 登录 后方可回复, 如果你还没有账号请 注册新账号