今天學習了python的高級函數filter,sorted
學習地址:廖雪峰的官方網站
filter函數:
filter()也接收一個函數和一個序列。和map()不同的是,filter()把傳入的函數依次作用于每個元素,然后根據返回值是True還是False決定保留還是丟棄該元素。
filter()函數返回的是一個Iterator,也就是一個惰性序列,所以要強迫filter()完成計算結果,需要用list()函數獲得所有結果并返回list
例:
1.

保留偶數
2.

刪除空字符
練習:

回數判斷
sorted函數:
sorted()函數也是一個高階函數,它還可以接收一個key函數來實現自定義的排序,key指定的函數將作用于list的每一個元素上,并根據key函數返回的結果進行排序
sorted()也是一個高階函數。用sorted()排序的關鍵在于實現一個映射函數。
例:
1.

根據絕對值排大小
2.

按字母順序排列
3.

忽略大小寫排序
4.

忽略大小寫且反向排序
練習:
1.

根據人名排成績
2.

根據成績高低排名