一.sorted函数
1.1解释
>>> help(sorted)
Help on built-in function sorted in module __builtin__:
sorted(...)
sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list
返回副本,原始输入不变
1.2参数说明
iterable:是可迭代类型,即要排序的对象,不一定是List
cmp:用于比较的函数,比较什么由key决定;
key:用列表元素的某个属性或函数进行作为关键字;即要比较的具体元素!如果没有,默认为iterable中元素
reverse:排序规则. reverse = True 降序 或者 reverse = False 升序,默认是升序!
返回值:是一个经过排序的可迭代类型,与iterable一样。
1.3实例理解:据实例加深sorted的用法及理解。
1.t_list = [4, -5, 7, 1, -3, 2, -9]
if __name__ == '__main__':
print(sorted(t_list))
# 根据绝对值升序排序!
print(sorted(t_list, key=lambda key: abs(key)))
2. students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10),]
2.1 用key函数排序:返回由tuple组成的list
sorted(students, key=lambda student : student[2]) # sort by age
输出:[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
2.2 用cmp函数排序:
sorted(students, cmp=lambda x,y : cmp(x[2], y[2])) # sort by age
输出:[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
二、sort函数
1.函数解释
>>> help(list.sort)
Help on method_descriptor:
sort(...)
L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*;
cmp(x, y) -> -1, 0, 1
2.参数说明:同sorted
3.举例理解:
(1)按照元素长度排序
L = [{1:5,3:4},{1:3,6:3},{1:1,2:4,5:6},{1:9}]