1. 程式人生 > >build-in函數sorted()的應用

build-in函數sorted()的應用

img iterable iter turn 進行 com 技術分享 我們 tom

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

build-in函數sorted()的應用