如何实现倒序的?
那个为什么通过传入比较函数,就能使sorted()函数实现倒序排序?
那个为什么通过传入比较函数,就能使sorted()函数实现倒序排序?
2017-10-06
def cmp_ignore_case(s1, s2):
if s1.upper() > s2.upper():
return 1
if s1.upper() < s2.upper():
return -1
print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)
sorted()也是一个高阶函数,它可以接收一个比较函数来实现自定义排序,比较函数的定义是,传入两个待比较的元素 x, y,如果 x 应该排在 y 的前面,返回 -1,如果 x 应该排在 y 的后面,返回 1。如果 x 和 y 相等,返回 0。
也就是说这是sorted函数本身定义就允许这样的操作,没有比较函数的时候就是默认从大到小排序,有比较函数,以比较函数为准的。
举报