python常规方法实现数组的全排列
发布时间:2020-09-01 18:52:46 所属栏目:Python 来源:互联网
导读:本文实例讲述了常规方法实现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,5))
else:#input param looks like "2,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程序设计有所帮助。 (编辑:4S站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- python – Django芹菜使用Ajax检索任务状态
- python – vectorize numpy独特的子阵列
- python – 逐行文件处理,for-loop vs with
- python – 如何克服 – 在windows上使用文件名或
- Django 1.10中有哪些django.core.context_proces
- python – 使用scikit-learn(sklearn),如何处理线
- django – 必须使用对象pk或slug调用通用详细信息
- python – 跨多个链式函数的namedTuples定义
- python – 可扩展程序的良好设计模式
- python – pandas链索引的替代方法是什么?
热点阅读
