functools模块中的cmp_to_key()函数可以将一个比较函数(cmp)转换为关键字函数(key).
python3中并不支持cmp函数.
首先定义一个cmp函数:
①.大于时返回
1
;等于时返回0
;小于时返回-1 --> 升序排序
②.大于时返回-
1
;等于时返回0
;小于时返回1 --> 降序排序 也可以在①的基础上设置reverse=True
def cmp(s1,s2):
if s1+s2 > s2+s1:
return 1
elif s1+s2 == s2+s1:
return 0
else:
return -1
然后然后使用cmp_to_key函数:
a是一个列表,是列表的值
a.sort(key=cmp_to_key(cmp))
示例:
from functools import cmp_to_key
def cmp(s1,s2):
if s1+s2 > s2+s1:
return 1
elif s1+s2 == s2+s1:
return 0
else:
return -1
n = int(input())
a = []
for _ in range(n):
a.append(input())
a.sort(key=cmp_to_key(cmp))
print("".join(a))