"""# 需求:把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...