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