函式式程式設計 reduce

2022-04-02 12:00:43 字數 994 閱讀 6301

"""# 需求:把list裡面的數字加起來

num_l = [1, 2, 3, 4, 5, 100]

res = 0

for num in num_l:

res += num

# print(res)

# 定義函式

num_l = [1, 2, 3, 4, 5, 100]

def reduce_test(array):

res = 0

for num in array:

res += num

return(res)

print(reduce_test(num_l))

# 邏輯仍然是寫死了,所有的值乘起來呢?

"""# 另一種公升級

num_l = [1, 2, 3, 4, 5, 100]

def multi(m,n):

return m * n

def reduce_test(func, array, init=none):

# res = 1 這麼寫又寫死了.

if init is none:

res = array.pop(0)

else:

res = init

for i in array:

res = func(res, i)

return res

print(reduce_test(multi, num_l))

print(reduce_test(lambda m,n:m*n, num_l))

print(reduce_test(multi, num_l, 100))

# 公升級:reduce, 功能:把乙個完整的序列進行處理,最終得到乙個值.

from functools import reduce

num_l = [1, 2, 3, 4, 5, 100]

print(reduce(lambda m,n:m*n, num_l))

Python函式式程式設計之reduce函式

reduce f,itr reducer 先將itr 迭代器 裡面的前兩個值傳遞給函式 f 計算出結果,然後再同第三個值通過 f 計算出結果。一直迭代,直到沒有其他值為止。譬如 reducer f,v1,v2,v3,v4 轉化後的方程是 f f f v1,v2 v3 v4 高階函式 reducer ...

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

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

函式式程式設計

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