上一篇我们学习了python的高阶函数和map,reduce的用法,今天我们来看另一个高阶函数 sorted。
排序算法
排序是我们在程序中经常用到的一个算法。sorted可以对list进行排序
sorted([1,3,9,-2])
# [-2,1,3,9]
sorted是一个高阶函数,他还快接收一个key方法,来定义排序的规则,比如:
sorted([1,3,9,-2],key=abs)
# 按绝对值进行排序,输出结果如下:
#[1,-2,3,9]
上面提到的是int类型的排序,sorted还可以对字符串类型进行排序。排序规则是按照ASCII的大小进行排序。如果要统一被排序list的大小写,可以修改sorted的第二个传入的key值。
sorted(["b","A","z"], key=str.lower)
如果想要按照对上面的排序进行反向排序,可以设置第三个参数reverse
sorted(["b","A","z"],key=sre.lower,reverse=True)