mapobject參數(shù)function傳的是一個(gè)函數(shù)名,可以是python內(nèi)置的,也可以是自定義的。參數(shù)iterable傳的是一個(gè)可以迭代的對(duì)象,例如列表,元組,字符串這樣的。處理序列中的的每個(gè)元素,得到的結(jié)果是一個(gè)‘列表+’,該列表的元素個(gè)數(shù)及位置與原來的一樣;a=(1,2,3,4,5)b=[1,2,3,4,5]la=map(lambdax:x+1,a)lb=map(lambdax:x**2,b)p" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python學(xué)習(xí):map函數(shù),filter函數(shù),reduce函數(shù)

系統(tǒng) 1783 0

map函數(shù)

map(func, *iterables) --> map object

  • 參數(shù)function 傳的是一個(gè)函數(shù)名,可以是python內(nèi)置的,也可以是自定義的。
  • 參數(shù)iterable 傳的是一個(gè)可以迭代的對(duì)象,例如列表,元組,字符串這樣的。

處理序列中的的每個(gè)元素,得到的結(jié)果是一個(gè)‘列表+’,該列表的元素個(gè)數(shù)及位置與原來的一樣;

            
              a
              
                =
              
              
                (
              
              
                1
              
              
                ,
              
              
                2
              
              
                ,
              
              
                3
              
              
                ,
              
              
                4
              
              
                ,
              
              
                5
              
              
                )
              
              
b
              
                =
              
              
                [
              
              
                1
              
              
                ,
              
              
                2
              
              
                ,
              
              
                3
              
              
                ,
              
              
                4
              
              
                ,
              
              
                5
              
              
                ]
              
              

la
              
                =
              
              
                map
              
              
                (
              
              
                lambda
              
               x
              
                :
              
              x
              
                +
              
              
                1
              
              
                ,
              
              a
              
                )
              
              
lb
              
                =
              
              
                map
              
              
                (
              
              
                lambda
              
               x
              
                :
              
              x
              
                **
              
              
                2
              
              
                ,
              
              b
              
                )
              
              
                print
              
              
                (
              
              
                list
              
              
                (
              
              la
              
                )
              
              
                )
              
              
                print
              
              
                (
              
              
                list
              
              
                (
              
              lb
              
                )
              
              
                )
              
            
          
            
              輸出:
[2, 3, 4, 5, 6]
[1, 4, 9, 16, 25]

            
          

filter函數(shù)

filter(function or None, iterable) --> filter object
對(duì)sequence中的item依次執(zhí)行function(item),將執(zhí)行結(jié)果為True的item組成一個(gè)list/String/Tuple(取決于sequence的類型)返回;

            
              people
              
                =
              
              
                [
              
              
                {
              
              
                'name'
              
              
                :
              
              
                'alex'
              
              
                ,
              
              
                'age'
              
              
                :
              
              
                24
              
              
                }
              
              
                ,
              
              
                {
              
              
                'name'
              
              
                :
              
              
                'hu'
              
              
                ,
              
              
                'age'
              
              
                :
              
              
                23
              
              
                }
              
              
                ,
              
              
                {
              
              
                'name'
              
              
                :
              
              
                'gu'
              
              
                ,
              
              
                'age'
              
              
                :
              
              
                18
              
              
                }
              
              
                ]
              
              
                print
              
              
                (
              
              
                list
              
              
                (
              
              
                filter
              
              
                (
              
              
                lambda
              
               p
              
                :
              
              p
              
                [
              
              
                'age'
              
              
                ]
              
              
                <=
              
              
                20
              
              
                ,
              
              people 
              
                )
              
              
                )
              
              
                )
              
              
                # 輸出:[{'name': 'gu', 'age': 18}]
              
            
          

reduce函數(shù)

reduce(function, sequence[, initial]) -> value

  • function – 函數(shù),要有兩個(gè)參數(shù)
  • iterable – 可迭代對(duì)象
  • initializer – 可選,初始參數(shù)

需要導(dǎo)入模塊 from functools import reduce

            
              
                >>
              
              
                >
              
              
                def
              
               add
              
                (
              
              x
              
                ,
              
               y
              
                )
              
              
                :
              
              
                # 兩數(shù)相加
              
              
                .
              
              
                .
              
              
                .
              
              
                return
              
               x 
              
                +
              
               y

              
                .
              
              
                .
              
              
                .
              
              
                >>
              
              
                >
              
              
                reduce
              
              
                (
              
              add
              
                ,
              
              
                [
              
              
                1
              
              
                ,
              
              
                2
              
              
                ,
              
              
                3
              
              
                ,
              
              
                4
              
              
                ,
              
              
                5
              
              
                ]
              
              
                )
              
              
                # 計(jì)算列表和:1+2+3+4+5
              
              
                15
              
              
                >>
              
              
                >
              
              
                reduce
              
              
                (
              
              
                lambda
              
               x
              
                ,
              
               y
              
                :
              
               x
              
                +
              
              y
              
                ,
              
              
                [
              
              
                1
              
              
                ,
              
              
                2
              
              
                ,
              
              
                3
              
              
                ,
              
              
                4
              
              
                ,
              
              
                5
              
              
                ]
              
              
                )
              
              
                # 使用 lambda 匿名函數(shù)
              
              
                15
              
            
          

== reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). ==


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

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

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

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

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

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 家居| 鹿邑县| 河北区| 江阴市| 通河县| 碌曲县| 孟连| 图们市| 醴陵市| 梁河县| 大新县| 扶绥县| 安宁市| 丰城市| 旌德县| 大宁县| 富平县| 邵阳市| 绥棱县| 扎兰屯市| 松滋市| 瑞金市| 英吉沙县| 双牌县| 祥云县| 乌拉特前旗| 萍乡市| 乐至县| 龙井市| 会泽县| 渭源县| 南丹县| 赤壁市| 平安县| 海伦市| 湖口县| 蓬溪县| 达孜县| 三穗县| 蕉岭县| 云南省|