python中sort與sorted區別


1、sort()函數 (只對list有用)

sort(...)

  L.sort(key = None,reverse=False) 

  key = 函數 這個函數會從每個元素中提取一個用於比較的關鍵字。默認是None

  reverse = True/False (默認是False升序;True:降序)

  作用:對原序列進行排序,也就是直接在原序列上操作,沒有返回值

 

sorted()函數

  sorted(iterable,key=None,reverse = False)

  iterable:是可迭代的對象

  key:函數,這個函數會從每個元素中提取一個用於比較的關鍵字;默認是None

  正確的寫法是:key = func  函數名稱不寫括號

 

例子1:按元素的長度進行排序

a = [(1,),(1,1),(1,2,3),(2,4)]

def func(b):
    return len(b)



print(sorted(a,key = func,reverse = True))

執行返回:[(1, 2, 3), (1, 1), (2, 4), (1,)]

 

例子2:有一個數組,第一列是員工ID,第二列是姓名,第三列是工資,請按工資的降序進行排序

l= [[1,'tom',3000],[2,'com',4000],[3,'aom',1500]]

print(sorted(l,key=lambda x:x[2]))

執行返回:[[3, 'aom', 1500], [1, 'tom', 3000], [2, 'com', 4000]]

 

例子3:對list里面嵌套的字典,按照age進行升序排序

alist=[{"name":"a","age":20},{"name":"b","age":30},{"name":"c","age":25}]

print(sorted(alist,key= lambda x:x['age']))

執行返回:[{'name': 'a', 'age': 20}, {'name': 'c', 'age': 25}, {'name': 'b', 'age': 30}]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM