1. 程式人生 > >python sort、sorted

python sort、sorted

所有 ima getter 保持 參數 比較 們的 分享 .com

1.

(1).sorted()方法返回一個新列表(默認升序)。

技術分享圖片

list.sort()

技術分享圖片

(2).另一個不同:list.sort()方法僅被定義在list中,sorted()方法對所有的可叠代序列都有效。

技術分享圖片

2.key參數/函數

從python2.4開始,在list.sort()和sorted()增加了key參數,key在每個元素比較淺被調用。

例如:通過key指定的函數來忽略字符串大小寫:

技術分享圖片

通過復雜對象的某些值來對復雜對象的序列進行排序:

技術分享圖片

對擁有命名屬性的復雜對象進行排序:

技術分享圖片

3.Operator模塊函數

operator模塊有itemgetter, attrgetter,從2.6開始增加了methodcaller方法。

技術分享圖片

operator允許多級的排序:先以grade,再以age排序

技術分享圖片

4.升序和降序

list.sort()和sorted()都接受一個參數reverse(True or False)來表示升序或降序。

技術分享圖片

5.排序的穩定性和復雜性

多個元素有相同的key,則排序前後他們的先後順序不變。

技術分享圖片

註意:排序後"blue"的順序被保持住了,即(‘blue’, 1)在(‘blue‘, 2)的前面。

構建多個步驟進行更復雜的排序:對student數據先以grade降序排列,再以age升序排列

技術分享圖片

python sort、sorted