python基礎-匿名函數

    1、匿名函數函數

        1.匿名函數是什麼?   spa

          只調用一次的函數,形式以lambda表達式存在,表達式的結果便是函數返回值3d

        2.爲何要有匿名函數?對象

          ambda有起到速寫函數的做用,容許在使用的代碼內嵌入一個函數的定義。在僅須要嵌入一小段可執行代碼的狀況 下,就能夠帶來更簡潔的代碼結構。blog

          節省內存開銷。不產生名稱空間。排序

          

            但內存地址還存在。影響不大內存

                      

        3.怎麼用
匿名函數

          a.像普通函數版般使用
lambda

            ps: 內存地址+([參數]) 使用。map

          

         

          b.常見使用,與其它函數一塊兒使用

          例1:求s = {

                  'egon': 3000,
                'alex': 50003,
                'lxx': 1023,
                'yuanhao': 34012
                 }
              工資最高的名字
              max 內置函數默認以key比較
              

                

              pass:指定函數給max 參數 key.

                

              匿名函數:

                

 

             例2:完成對例1 字典排序 按照薪資大小排序。sorted默認按照key從小到大排序

               nums = [3,1,4,6,7,2] 排序

               sorted函數默認從小到大排序

               

               sort 從大到小排序。利用reverse參數

                

               

               從小到大

               

                   從大到小

               

 

               

           4.跟匿名函數使用有關係的內置函數 map,reduce,filter

              map:映射。 指定規則,將原對象映射成新對象

              例:names = ['alex', 'egon', 'lxx', 'wxx'] 每一個元素添加‘_dSB’結尾

                

              filter:過濾,指定規則,生成符合條件的新對象

              例:names = ['alex_teacher', 'egon_teacher', 'lxx_boss', 'wxx_emp'] 找出全部老師

                

 

               和列表生成式比較:

               

               有啥區別:

               filter 返回的新對象 是可迭代對象 含有__next__

               列表生成式返回的 不是

              reduce:合併,指定規則,合成符合規則的新的對象

              

相關文章
相關標籤/搜索