Python之函式式程式設計

2021-10-02 05:48:58 字數 724 閱讀 3621

1、map

map()函式接收兩個引數,乙個是函式,乙個是iterablemap將傳入的函式依次作用到序列的每個元素,並把結果作為新的iterator返回。

def f(x):

return x*x

r = map(f,[1,2,3,4,5,6,7,8,9])

print(list(r))

[1,4,9,16,25,36,49,64,81]

2、reduce

reduce把乙個函式作用在乙個序列[x1, x2, x3, ...]上,這個函式必須接收兩個引數,reduce把結果繼續和序列的下乙個元素做累積計算,其效果就是:

reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
比方說對乙個序列求和,就可以用reduce實現:

>>> from functools import reduce

>>> def add(x, y):

... return x + y

...>>> reduce(add, [1, 3, 5, 7, 9])

25

Python之 函式式程式設計

f lambda x x 2 定義函式f x x 2 g lambda x,y x y 定義函式g x,y x y 假設有乙個列表a 1,2,3 要給列表中的每個元素都加2得到乙個新列表,利用列表解析,我們可以這樣寫 b i 2 for i in a 利用map函式我們可以這樣寫 b map lam...

python高階之函式式程式設計

函式式程式設計不是函式程式設計。函式 function 編寫函式以及呼叫函式 函式式 fuctional 是一種程式設計正規化,是抽象於計算的程式設計模式 函式式程式設計的特點 1.把計算視為函式而非指令 2.純函式式程式設計 不需要變數,測試簡單,還沒有 3.支援高階函式,簡介 而python 支...

Python學習之 函式式程式設計

1 函式式程式設計 1.1 匿名函式 關鍵字lambda表示匿名函式,冒號前面的 x 表示引數。冒號後面只能有乙個表示式,不寫return,返回值就是該表示式的結果。可以不必定義函式名,直接建立乙個函式物件。返回函式的時候,也可以返回匿名函式。下面的 是乙個例子 myabs lambda x x i...