#-*- coding: utf-8 -*-
mList = ['a','b','c','d']
use = [0,0,0,0,0]
pList=[]
NUM = 0
def zuHe( mlist, begin, n):
global NUM
if begin == n:
NUM += 1
#打印出所有组合
print "%3s:"%NUM,pList
return
for i in range(n):
if use[i]==0:
use[i] = 1
pList.append(mlist[i])
zuHe(mlist,begin+1,n)
pList.pop()
use[i] = 0
>>> zuHe(mList,0,len(mList))
1: ['a', 'b', 'c', 'd']
2: ['a', 'b', 'd', 'c']
3: ['a', 'c', 'b', 'd']
4: ['a', 'c', 'd', 'b']
5: ['a', 'd', 'b', 'c']
6: ['a', 'd', 'c', 'b']
7: ['b', 'a', 'c', 'd']
8: ['b'
排列组合问题python
最新推荐文章于 2022-10-23 14:22:34 发布