sorted() 排序函數. 函數
語法: sorted(Iterable, key=None, reverse=False) Iterable: 可迭代對象; key: 排序規則(排序函數); reverse: 是不是倒敘. True: 倒敘, False: 正序spa
在sorted內部會將可迭代對象中的每個元素傳遞給這個函 數的參數. 根據函數運算的結果進行排序.code
sort 與 sorted 區別:對象
sort 是應用在 list 上的方法,sorted 能夠對全部可迭代的對象進行排序操做。blog
list 的 sort 方法返回的是對已經存在的列表進行操做,而內建函數 sorted 方法返回的是一個新的 list,而不是在原來的基礎上進行的操做。排序
>>>a = [5,7,6,3,4,1,2] >>> b = sorted(a) # 保留原列表 >>> a [5, 7, 6, 3, 4, 1, 2] >>> b [1, 2, 3, 4, 5, 6, 7] >>> students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)] >>> sorted(students, key=lambda s: s[2]) # 按年齡排序 [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
filter() 篩選(過濾)函數it
語法: filter(function. Iterable) function: 用來篩選的函數. 在filter中會自動的把iterable中的元素傳遞給function. 而後 根據function返回的True或者False來判斷是否保留此項數據 Iterable: 可迭代對象io
lst = [{"id":1, "name":'alex', "age":18}, {"id":2, "name":'wusir', "age":16}, {"id":3, "name":'taibai', "age":17}] fl = filter(lambda e: e['age'] > 16, lst) # 篩選年齡⼤於16的數據 print(list(fl)) 輸出結果:[{'id': 1, 'name': 'alex', 'age': 18}, {'id': 3, 'name': 'taibai', 'age': 17}]
map() 映射函數function
語法: map(function, iterable) 能夠對可迭代對象中的每一個元素進行映射. 分別執行 functionclass
計算列表中每一個元素的平⽅ ,返回新列表 print(list(map(lambda x: x * x, [1, 2, 3, 4, 5]))) 輸出結果:[1, 4, 9, 16, 25] 計算兩個列表中相同位置的數據的和 lst1 = [1, 2, 3, 4, 5] lst2 = [2, 4, 6, 8, 10] print(list(map(lambda x, y: x+y, lst1, lst2))) 輸出結果: [3, 6, 9, 12, 15]