build-in函数sorted()的应用
首先help(sorted)一下,得到如下信息:
此函数有三个参数:
iterable---可迭代的list
key---决定按照排列的对象
reverse--决定是升序还是降序
默认是按照升序对列表元素进行排列
简单的例子:
l = [a, d, c, b] new_l = sorted(l) print(new_l) 输出: ['a', 'b', 'c', 'd']
但是当我们进行复杂的排序时,key就能大显身手了!
比如我们将以下元组按照优先级为第一项、第二项、第三项进行排序
Tom,19,80
John,20,90
Jony,17,91
Jony,17,93
Json,21,85
我们就可以对key参数进行操作,key = operator.itemgetter(0, 1, 2) ,大功告成!
扩展:
operator模块的itemgetter()函数,此函数返回的是一个一个函数,必须作用在一个对象上
也就是
After f = itemgetter(2), the call f(r) returns r[2]
After g = itemgetter(2, 5, 3), the call g(r) returns (r[2], r[5], r[3])