函数式编程--高阶函数--sorted

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数式编程--高阶函数--sorted相关的知识,希望对你有一定的参考价值。

定义

sorted函数可以list进行排序

#sorted可以对list进行排序
L=[3,7,-11,10,6]

print(sorted(L))

sorted()函数也是一个高阶函数,它还可以接收一个key函数来实现自定义的排序,key指定的函数将作用于list的每一个元素上,并根据key函数返回的结果进行排序。例如按绝对值大小排序:

#接受一个abs,按照绝对值排序
print(sorted(L,key=abs))

以上两个输出结果为:

[-11, 3, 6, 7, 10]
[3, 6, 7, 10, -11]
#对字符串进行排序,默认对ASCII码的大小进行排序
names=[bob, about, Zoo, Credit]

print(sorted(names))

#要求忽略大小写,按字符顺序进行排序,传入一个lower函数将大写转为小写
print(sorted(names,key=str.lower))

#进行反项排序
print(sorted(names,key=str.lower,reverse=True))

以上三项的输出

[Credit, Zoo, about, bob]
[about, bob, Credit, Zoo]
[Zoo, Credit, bob, about]

以下例子中key=by_sorce 将函数作用L的每一个元素,返回对应的新 L[75,92,66,88] ,然后sorted 函数对新L进行排序

#学生成绩如下,根据姓名进行排序
L = [(Bob, 75), (Adam, 92), (Bart, 66), (Lisa, 88)]

def by_name(t):
    return t[0]

L2 = sorted(L, key=by_name)
print(L2)
    
#根据成绩进行排序

def by_sorce(t):
    return t[1]

L3=sorted(L,key=by_sorce,reverse=True)
print(L3)

 

关于python中的排序:http://www.iplaypy.com/jinjie/jj114.html

以上是关于函数式编程--高阶函数--sorted的主要内容,如果未能解决你的问题,请参考以下文章

(转)Python进阶:函数式编程(高阶函数,map,reduce,filter,sorted,返回函数,匿名函数,偏函数)

Python进阶:函数式编程(高阶函数,map,reduce,filter,sorted,返回函数,匿名函数,偏函数)...啊啊啊

函数式编程 & Python中的高阶函数map reduce filter 和sorted

Python函数式编程以及高阶函数

python函数式编程以及高阶函数

Python函数式编程以及高阶函数