def g(n):
result = []
if n == 1:
return [[0]]
else:
for x in g(n - 1):
for i in range(n):
x.insert(i, n - 1)
result.append(x)
x.remove(n-1)
return result
def array(n,lis=[]):
if n==len(lis):
global s
s.append(lis)
else:
rest = []
for i in range(n):
if lis.count(i) == 0:
rest.append(i)
for i in rest:
lis.append(i)
array(n,lis)
lis.remove(i)
//在函数多加一个默认参数,用于传递
def array(n,lis=[],res=[]):
if n==len(lis):
res.append(lis)
return reselse:
rest = []
for i in range(n):
if lis.count(i) == 0:
rest.append(i)
for i in rest:
lis.append(i)
res=array(n,lis,res)
lis.remove(i)
return res