- 递归实现
def permutation(lst, start, end):
if start == end:
for x in lst:
print(x, end=' ')
print()
else:
for i in range(start, end+1):
lst[i], lst[start] = lst[start], lst[i]
permutation(lst, start+1, end)
lst[i], lst[start] = lst[start], lst[i]
- 库函数实现
获取所有元素的全排列:
itertools.permutation(lst, n) ——n: 全排列输出的序列长度
获取所有元素的组合:
itertools.combination(lst, n)
网友评论