Python高階函數map、reduce、filter應用

定義

  1. map映射函數 map()通過接收一個函數F和一個可迭代序列,作用是F依次作用序列的每個元素,並返回一個新的list。
  2. reduce遞歸映射函數 reduce()把一個函數作用在一個序列上,這個函數必須接收兩個參數,reduce把結果繼續和序列的下一個元素做函數運算。
  3. filter過濾函數 filter()與map()類似,接收一個函數F和一個可迭代序列,只不過這裏的函數F是條件判斷函數。

應用

# 刪偶數
l1=[1, 243, 12, 4, 39, 80, 22 ,45]
del_odes=filter(lambda x:x%2!=0, l1)
for i in del_odes:
    print(i)

# 平方輸出
del_odes=filter(lambda x:x%2!=0, l1)
pow_result = map(lambda x:pow(x, 2) ,del_odes)
for i in pow_result:
    print(i)

# 求和輸出
from functools import reduce
sum_result = reduce(lambda x,y:x+y, del_odes)
print(sum_result)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章