Python解决数字全排列问题

利用itertools模块
按住control点一下permulations方法,是一个枚举方法
Python解决数字全排列问题_第1张图片

import itertools

array = [1,2,3,4]
pailie = list(itertools.permutations(array))#要list一下,不然它只是一个对象
for x in pailie:
    for y in x:
        print(y,end=' ')
    print()

Python解决数字全排列问题_第2张图片
如果不是全排列,是按字典序输出不重复的组合方式可以用这个库的combinations

from itertools import combinations
import sys
a,b = map(int,input().split())# a表示组合的序列是1到几,b表示进行组合的一个是几个数
if b > a:
    print('-1')
    sys.exit()
mylist = list(range(1,a+1))
for x in combinations(mylist,b):# 参数第一个是可迭代的序列,第二个是一个组合几个数
    for index in x:
        print(index,end=' ')
    print()

输入5,3如图
Python解决数字全排列问题_第3张图片

你可能感兴趣的:(Python,基础)