python 高階函數

python高階函數:python

接受一個或多個函數做爲參數,輸出一個函數函數

自定義sort函數:3d

 

內建函數-高階函數對象

sorted(iterable[, key][, reverse]) 排序blog

sorted(iterable[, key][, reverse]) 排序 ,返回一個新的列表,對一個可迭代對象的全部元素排序,排序規則爲key定義的函數,reverse表示是 否排序翻轉 排序

 sorted(lst,key=lambda x:6-x) # 返回新列表 it

list.sort(key=lambda x: 6-x) # 就地修改io

 

 filter(function, iterable) --> filter object 過濾數據function

 過濾可迭代對象的元素,返回一個迭代器 lambda

function一個具備一個參數的函數,返回bool 

過濾出數列中能被3整除的數字 :list(filter(lambda x: x%3==0, [1,9,55,150,-3,78,28,123])) 

 

map(func, *iterables) --> map object 映射

對多個可迭代對象的元素按照指定的函數進行映射,返回一個迭代器 

list(map(lambda x:2*x+1, range(5))) 

dict(map(lambda x: (x%5,x) , range(500)))

 

柯里化Currying:

指的是將原來接受兩個參數的函數變成新的接受一個參數的函數的過程。新的函數返回一個以原有第 二個參數爲參數的函數 

例:將加法函數柯里化:

經過嵌套函數就能夠把函數轉換成柯里化函數

相關文章
相關標籤/搜索