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])

posted @ 2019-02-01 17:08  Freddy520  阅读(136)  评论(0编辑  收藏  举报