Python sorted()函数

Python sorted()函数


list内置一个方法sort(),可以实现对list内的元素做排序。

Python中提供sorted()高级函数进行排序,它也可以接收一个函数作为参数来补充定义排序规则,默认按值从小到大排列。

sort()和sorted()区别在于前者进作用于list,后者可以作用于所有可迭代对象。
形式:

sorted(iterable[, cmpfunc[, key[, reverse]]]) #[]表示可省略


1)cmpfunc指定一个定制的比较函数,这个函数接收两个参数(iterable的元素),如果第一个参数小于第二个参数,返回一个负数;如果第一个参数等于第二个参数,返回零;如果第一个参数大于第二个参数,返回一个正数。默认值为None。
2)key指定一个接收一个参数的函数,这个函数用于从每个元素中提取一个用于比较的关键字。默认值为None。
3)reverse是一个布尔值。如果设置为True,列表元素将被倒序排列。

用法示例:

>>> sorted([-2, 0, 5, -3, 22])
[-3, -2, 0, 5, 22]

>>> sorted([-2, 0, 5, -3, 22], key=abs)  #按绝对值从小到大排序
[0, -2, -3, 5, 22]

>>> sorted([-2, 0, 5, -3, 22], reverse = True)
[22, 5, 0, -2, -3]

>>> sorted([-2, 0, 5, -3, 22], key=abs, reverse='True')  #按绝对值从小到大逆序排序
[22, 5, -3, -2, 0]

#很明显,key和reverse都是默认参数,reverse默认为False
#还可以自定义参数来定义比较规则,写在funccmp位置
posted @ 2017-12-18 19:26  从流域到海域  阅读(73)  评论(0编辑  收藏  举报