日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python:lambda、filter、map、reduce

發(fā)布時間:2023/11/30 python 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python:lambda、filter、map、reduce 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

lambda 為關鍵字。filter,map,reduce為內置函數(shù)。

lambda:實現(xiàn)python中單行最小函數(shù)。

g = lambda x: x * 2 #相當于 def g(x):return x*2 print(g(3))# 6 注意:這里直接g(3)可以執(zhí)行,但沒有輸出的,前面的print不能少

Map函數(shù)

map()函數(shù)接收兩個參數(shù),一個是函數(shù),一個是序列,map將傳入的函數(shù)依次作用到序列的每個元素,并把結果作為新的list返回。?
舉例說明 :
比如我們有一個函數(shù)f(x)=x2,要把這個函數(shù)作用在一個list [1, 2, 3, 4, 5, 6, 7, 8, 9]上,就可以用map()實現(xiàn)如下:?
?

現(xiàn)在,我們用Python代碼實現(xiàn):

>>> def f(x): ... return x * x ... >>> map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9]) [1, 4, 9, 16, 25, 36, 49, 64, 81]

Reduce函數(shù)?

reduce把一個函數(shù)作用在一個序列[x1, x2, x3…]上,這個函數(shù)必須接收兩個參數(shù),reduce把結果繼續(xù)和序列的下一個元素做累積計算,其效果就是:  

reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)

  比方說對一個序列求和,就可以用reduce實現(xiàn):

>>> def add(x, y): ... return x + y ... >>> reduce(add, [1, 3, 5, 7, 9]) 25

Filter函數(shù)?

Python內建的filter()函數(shù)用于過濾序列。和map()類似,filter()也接收一個函數(shù)和一個序列。和map()不同的是,filter()把傳入的函數(shù)依次作用于每個元素,然后根據(jù)返回值是True還是False決定保留還是丟棄該元素。

True保留,False丟棄?
例如,在一個list中,刪掉偶數(shù),只保留奇數(shù),可以這么寫:

def is_odd(n):return n % 2 == 1filter(is_odd, [1, 2, 4, 5, 6, 9, 10, 15])# 結果: [1, 5, 9, 15]

  可見用filter()這個高階函數(shù),關鍵在于正確實現(xiàn)一個“篩選”函數(shù)。

轉載于:https://www.cnblogs.com/tianqizhi/p/9337881.html

總結

以上是生活随笔為你收集整理的python:lambda、filter、map、reduce的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。