函式式程式設計

2021-10-05 10:20:43 字數 801 閱讀 6924

map(function, iterable) 對 iterable 中的每個元素,都運用 function這個函式,最後返回乙個新的可遍歷的集合

l = [1, 2, 3, 4, 5]

new_list = map(lambda x: x * 2, l) # [2, 4, 6, 8, 10]

因為 map() 函式直接由 c 語言寫的,執行時不需要通過python 直譯器間接呼叫,並且內部做了諸多優化,所以執行速度最快

filter(function, iterable) 函式,和 map 函式類似,function 同樣表示乙個函式物件,filter() 函式表示對 iterable 中的每個元素,都使用 function 判斷,並返回 true 或者 false,最後將返回 true 的元素組成乙個新的可遍歷的的集合

返回乙個列表中的所有偶數,可以寫成下面這樣:

l = [1, 2, 3, 4, 5]

new_list = filter(lambda x: x % 2 == 0, l) # [2, 4]

reduce(function, iterable) 函式,通常用來對乙個集合做一些累積操作

function 同樣是乙個函式物件,規定它有兩個引數,表示iterable 中的每個元素以及上一次呼叫後的結果,運用function 進行計算,所以最後返回的是乙個單獨的數值。

想要計算某個列表元素的乘積,就可以用 reduce() 函式來表示

l = [1, 2, 3, 4, 5]

product = reduce(lambda x, y: x * y, l) # 1*2*3*4*5 = 120

函式式程式語言python 函式式程式設計

函式是python內建支援的一種封裝,我們通過把大段 拆成函式,通過一層一層的函式呼叫,就可以把複雜任務分解成簡單的任務,這種分解可以稱之為面向過程的程式設計。函式就是面向過程的程式設計的基本單元。而函式式程式設計 請注意多了乙個 式 字 functional programming,雖然也可以歸結...

函式式程式設計

最近在看一些關於js方面的東東,除了些ajax的基本應用,還了解了些函式式程式設計 fp 的東東。雖然以前也玩過幾天lisp的,不過因為當時完全對fp的東西沒有概念,壓根就不知道原來這是list那一族最大的特性之一 另外我知道的還有個是gc,orz.光注意那些詭異的 表 去了。總結一下,傳統上認為f...

函式式程式設計

維基百科 函式式程式設計 英語 functional programming 或者函式程式設計,又稱泛函程式設計,是一種程式設計范型,它將計算機運算視為數學上的函式計算,並且避免使用程式狀態以及易變物件。函式程式語言最重要的基礎是 演算 lambda calculus 而且 演算的函式可以接受函式當...