欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

什么是Python中的map,reduce和filter?

系統(tǒng) 2017 0

基本上,lambdas以及map,reduce和filter為python提供了函數(shù)式編程能力。讓我們看看他們是什么。

  • map: map函數(shù)采用 iterable(list,tuple,set)并將函數(shù)應(yīng)用于列表中的每個(gè)元素。讓我們看一個(gè)例子來(lái)看看它是如何工作的。

任務(wù)1:給定一個(gè)整數(shù)列表,編寫(xiě)代碼,以方的所有數(shù)s在列表中。

            
              def func (num ):
	“””
	對(duì)給定數(shù)字進(jìn)行平方的函數(shù)
	“””
	return num * num
 
l = [1, 2, 3, 4, 5, 6] 
 
#map采用一個(gè)函數(shù)并應(yīng)用于 
#列表中的每個(gè)元素
ans = list (map (func ,l ))
 
#[1,4,9,16,25,36]
print(ans)

            
          

上面的代碼工作并執(zhí)行我們想要實(shí)現(xiàn)的內(nèi)容,但我們可以使用lambda函數(shù)以更簡(jiǎn)潔的方式編寫(xiě)它,而不是創(chuàng)建單獨(dú)的函數(shù)。讓我們稍微改變一下代碼,使其更簡(jiǎn)潔。

            
              l = [1, 2, 3, 4, 5, 6] 
 
#[1,4,9,16,25,36]
ans = list (map (lambda x :x * x ,l ))
print(ans)


            
          

任務(wù)2:給定一個(gè)整數(shù)列表,編寫(xiě)一個(gè)代碼來(lái)均數(shù)偶數(shù),但將奇數(shù)數(shù)字排成一行。這里我們可以一起使用map和lambda,如下所示

            
              l = [1, 2, 3, 4, 5, 6]
ans = list(map(lambda x: x ** 2 if x % 2 == 0 else x ** 3, l))
print(ans)

            
          

這總結(jié)了地圖的基本工作。我們來(lái)看看過(guò)濾器

  • filter:它的工作原理類似于map函數(shù)。顧名思義,它用于根據(jù)特定條件過(guò)濾元素。不同之處在于它從列表中的元素創(chuàng)建滿足某些條件的新列表。讓我們看看它如何與一個(gè)例子一起工作。這些參數(shù)類似于地圖的參數(shù)。它需要一個(gè)謂詞函數(shù)和一個(gè)可迭代函數(shù)。

任務(wù)3:給定一個(gè)整數(shù)列表,編寫(xiě)一個(gè)代碼,僅從列表中分隔偶數(shù)。

            
              l = [1, 2, 3, 4, 5, 6]
 
#只保留滿足謂詞功能的列表元素
ans = list(filter(lambda x: x % 2 == 0, l))
 
# [2, 4, 6]
print(ans)

            
          
  • reduce:它繼續(xù)在列表中應(yīng)用函數(shù),直到它返回單個(gè)值。讓我們通過(guò)一個(gè)例子來(lái)看看reduce的工作

任務(wù)4:給定一個(gè)整數(shù)列表,編寫(xiě)一個(gè)代碼,返回通過(guò)乘以列表中的元素獲得的總值。

            
              from functools import reduce
 
l = [1, 2, 3, 4, 5, 6]   
ans = reduce(lambda x, y: x * y, l)
print(ans)


            
          

筆記:

map和 filter返回一個(gè)map對(duì)象,而 reduce返回一個(gè)值。
我們必須從functools導(dǎo)入reduce,但map和filter可直接在builtins中使用


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 日韩电影中文字幕 | 欧美日韩一区二区三区自拍 | 国产欧美久久一区二区三区 | 国产精品久久久久久无码人妻 | 亚洲已满18点击进入在线观看 | 99中文在线 | 天天干天天草 | 2021中文字幕亚洲精品 | 新婚人妻不戴套国产精品 | 日本美女毛茸茸 | 狙击兵2通古电影高清 | 一区二区中文字幕 | 精品国产午夜福利在线观看 | 久久综合久久久久 | 国产欧美高清 | 国产精品视频免费 | 精品欧美一区二区精品久久久 | 大吊一区二区 | 国产11一12周岁女毛片 | 成人免费体验区福利云点播 | xxx欧美老熟| 久久99精品国产 | 日夜啪啪 | 插插插天天 | 国产永久在线视频 | 高清中文字幕免费观在线 | 亚洲国产综合人成综合网站00 | 久久精品国产99久久久古代 | 天天操夜操 | 国产精品2020观看久久 | 亚洲欧美日韩中文字幕在线一区 | 久久国内精品自在自线400部o | 久久久久久久国产 | 精品久久久久久久 | 精品久久久久久久 | 日本在线免费 | 秋霞影院精品久久久久 | 欧美日韩精品一区二区在线播放 | 国产三级在线观看 | 亚洲精品1区| 色窝视频|