sorted函数

sorted函数基本语法

sorted(iterable, key=None, reverse=False)

reserve改变排序顺序 输入值为True,False

key决定了排序规则

  其中python3中取消了cmp函数,可以引用functiontools库中的工具(转载:python3中sorted函数里关于cmp这一参数的改变 - Z_Agent - 博客园 (cnblogs.com)

       例如:

import functools  #引用函数库
def key1(x,y):     #自定义一组排序规则
    a=x[0]
    b=y[0]
    if a > b :
        return 1
    elif a < b :
        return -1
    else:
        return 0     #cmp函数的返回值只有1,-1,0

L = [(2,1),(1,2),(3,3),(4,4)]
L=sorted(L,key = functools.cmp_to_key(key1))  #python3中cmp的引用方式
print(L)

输出结果为:[(1, 2), (2, 1), (3, 3), (4, 4)]

       

       另外当规则不复杂时可以使用lambda匿名函数

  如:

L = [(2,1),(1,2),(3,3),(4,4)]
L=sorted(L,key=lambda x:x[0]-x[1])   #lambda为匿名函数形式,使用方法为(lambda 参数变量 : 函数规则)
print(L)

输出结果为:[(1, 2), (3, 3), (4, 4), (2, 1)]

 

posted @ 2022-03-03 19:35  Can'you星痕  阅读(91)  评论(0编辑  收藏  举报