build-in函數sorted()的應用
阿新 • • 發佈:2019-02-01
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()的應用