import functools
myl = ['nihao', 'nibuhao', 'nihenhao', 'hiteyou!!!']
# 比较x y 长度大小,长的放前
def custmorSort(x, y):
return len(x)-len(y)
myl2 = sorted(myl, key=functools.cmp_to_key(custmorSort))
print(myl2)
第二种方式
lst = [(9, 4), (2, 10), (4, 3), (3, 6)]
def cmp(x, y):
a = x[0] if x[0] %2 == 1 else x[1]
b = y[0] if y[0] %2 == 1 else y[1]
# 采用三目运算。
# 判断 a>b 得话 输出1 ,否则判断 a<b 就输出 -1 如果不是则输出0
return 1 if a > b else -1 if a < b else 0
lst.sort(key=functools.cmp_to_key(cmp))
print(lst)
输出:[(4, 3), (3, 6), (9, 4), (2, 10)]