真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何分析python的map、reduce函數(shù)

這篇文章給大家介紹如何分析python的map、reduce函數(shù),內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

在慶安等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、外貿(mào)營銷網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),營銷型網(wǎng)站,外貿(mào)網(wǎng)站建設(shè),慶安網(wǎng)站建設(shè)費(fèi)用合理。

小編講的是Python的map、reduce兩大函數(shù)。

這對兄弟是出現(xiàn)頻率極高相當(dāng)實(shí)用的python函數(shù),初學(xué)者會較難理解,看完本文你就能搞定它們嘍!

如何分析python的map、reduce函數(shù)

01

map

map()方法會將 一個(gè)函數(shù) 映射序列的每一個(gè)元素上,生成新序列,包含所有函數(shù)返回值。

也就是說序列里每一個(gè)元素都被當(dāng)做x變量,放到一個(gè)函數(shù)f(x)里,其結(jié)果是f(x1)、f(x2)、f(x3)......組成的新序列。

如何分析python的map、reduce函數(shù)

如何使用map函數(shù)?

     
   
   
   map(function_to_apply, list_of_inputs)
  • function_to_apply:代表函數(shù)

  • list_of_inputs:代表輸入序列

注意:python3中 map函數(shù)返回的是 迭代器  

大多數(shù)時(shí)候,我們要把列表中所有元素一個(gè)個(gè)地傳遞給一個(gè)函數(shù),并收集輸出。

比方說:

     
   
   
   items = [1, 2, 3, 4, 5] # 列表  
    
    squared = []  
    
    for i in items:  
    
        squared.append(i**2)

map函數(shù)可以讓我們用一種簡單而漂亮得多的方式來實(shí)現(xiàn):

     
   
   
   items = [1, 2, 3, 4, 5]  
    
    squared = list(map(lambda x: x**2, items))

上面使用了匿名函數(shù),也可以自定義函數(shù):

     
   
   
   items = [1, 2, 3, 4, 5]  
    
    def f(x):  
    
        return x**2  
    
    squared = list(map(f, items))

02

reduce

reduce相比map稍復(fù)雜點(diǎn)

reduce的工作過程是 :在迭代序列的過程中,首先把 前兩個(gè)元素(只能兩個(gè))傳給 函數(shù),函數(shù)加工后,然后把 得到的結(jié)果和第三個(gè)元素 作為兩個(gè)參數(shù)傳給函數(shù)參數(shù), 函數(shù)加工后得到的結(jié)果又和第四個(gè)元素 作為兩個(gè)參數(shù)傳給函數(shù)參數(shù),依次類推。 

如何分析python的map、reduce函數(shù)

reduce函數(shù)怎么用?

     
   
   
   reduce(function, iterable[, initializer])
  • function:代表函數(shù)

  • iterable:序列

  • initializer:初始值(可選)

與map不同,reduce不可以直接使用,需要用from functools import reduce導(dǎo)入

如何分析python的map、reduce函數(shù)

比如說我要求10的階乘,就可以用reduce做:

     
   
   
   # 導(dǎo)入reduce  
    
    from functools import reduce   
    
    # 定義函數(shù)  
    
    def f(x,y):  
    
        return x*y  
    
    # 定義序列,含1~10的元素  
    
    items = range(1,11)  
    
    # 使用reduce方法  
    
    result = reduce(f,items)  
    
    print(result)

關(guān)于如何分析python的map、reduce函數(shù)就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。


網(wǎng)頁題目:如何分析python的map、reduce函數(shù)
分享地址:http://weahome.cn/article/gihois.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部