mapobject參數function傳的是一個函數名,可以是python內置的,也可以是自定義的。參數iterable傳的是一個可以迭代的對象,例如列表,元組,字符串這樣的。處理序列中的的每個元素,得到的結果是一個‘列表+’,該列表的元素個數及位置與原來的一樣;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學習:map函數,filter函數,reduce函數

系統 1696 0

map函數

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

  • 參數function 傳的是一個函數名,可以是python內置的,也可以是自定義的。
  • 參數iterable 傳的是一個可以迭代的對象,例如列表,元組,字符串這樣的。

處理序列中的的每個元素,得到的結果是一個‘列表+’,該列表的元素個數及位置與原來的一樣;

            
              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函數

filter(function or None, iterable) --> filter object
對sequence中的item依次執行function(item),將執行結果為True的item組成一個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函數

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

  • function – 函數,要有兩個參數
  • iterable – 可迭代對象
  • initializer – 可選,初始參數

需要導入模塊 from functools import reduce

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

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

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


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 绵竹市| 肃北| 远安县| 广宗县| 菏泽市| 右玉县| 和田县| 勐海县| 逊克县| 临夏市| 谢通门县| 洱源县| 贡觉县| 光山县| 开封市| 天峻县| 麻栗坡县| 绩溪县| 临泽县| 车致| 苍梧县| 紫云| 县级市| 仙桃市| 松阳县| 黎川县| 石棉县| 石嘴山市| 广灵县| 西宁市| 延寿县| 红安县| 扶余县| 绥芬河市| 信阳市| 平潭县| 丰镇市| 屯昌县| 扶余县| 吴川市| 松溪县|