Python排列函数和组合函数

排序函数:permutations()

缺点:不能按照顺序输出下一个更大的排列

from itertools import *
s=['a','b','c']
for i in permutations(s,2): #任取2个元素输出
    a=i[0]+i[1]
    print(a)
'''
输出结果
ab
ac
ba
bc
ca
cb
'''
s1=['1','2','3']
for ii in permutations(s1): #全排列
    a=''.join(ii) #将所有元素拼起来
    print(a)
'''
输出结果
123
132
213
231
312
321
'''

组合函数:combinations()

from itertools import *

s1=['1','2','3']
for ii in combinations(s1,2): #只输出组合,不用分先后
    a=''.join(ii)
    print(a)
'''
输出结果
12
13
23
'''

【题目】

有n个正整数a1,a2,a3,...,an,将它们连接成一排,相邻数字首尾相接,组成最大的整数。

【样例输入】

3

13 312 343

【样例输出】

343312213

【实验代码】

#暴力输出法
from itertools import *
n=int(input())
ans=""
s=list(map(str,input().split())) #按照字符的形式写入
for i in permutations(s): #每次输出一个全排列
    a=''.join(i)#把这个全排列的所有元素拼起来,得到一个串
    if ans

你可能感兴趣的:(Python知识点,python,开发语言,后端)