一、匿名函數 什麼匿名是函數: 不需要使用def函數名的函數或者子程式 函數語法: lambda 參數:表達式 函數特點: 1、lamdba只是一個表達式,省去定義函數過程,讓代碼更精簡 2、lamdba 在表達式中封裝的邏輯有限 3、不能訪問自己參數序列外或者全局命名空間的參數 舉例: 二、內建m ...
一、匿名函數
什麼匿名是函數:
不需要使用def函數名的函數或者子程式
函數語法:
lambda 參數:表達式
函數特點:
1、lamdba只是一個表達式,省去定義函數過程,讓代碼更精簡
2、lamdba 在表達式中封裝的邏輯有限
3、不能訪問自己參數序列外或者全局命名空間的參數
舉例:
二、內建map()函數:
map(函數, 集合);
功能:map接收一個函數,然後作用於集合中的每一個元素,並把結果當做新的集合返回。
註意:map必須有返回值。
例如,把數組每個元素加1:
由於map返回的是集合,所以需要轉換成list輸出值:
三、reduce()函數:
reduce(函數,集合)
功能:reduce接受一個函數,然後作用在集合上。首先對集合里的第一二個元素進行函數操作,再把得到的結果與第三個元素進行函數操作,直到最後一個元素。
例如,對集合元素進行累加操作:
四、map/reduce
reduce(函數, map(函數, 集合))
功能:map/reduce 是map和reduce函數的組合使用。先對集合進行map操作,返回另一個集合;再對集合進行reduce操作,返回一個結果。
例如: 計算集合開平方後的和:
四、filter函數
filter(函數,集合)
filter 用來過濾序列,把集合的元素依次傳入函數中,函數返回True則元素返回保留在集合中,否則元素不保留
例如,去除集合中的偶數:
用list輸出:
由於filter返回的是可迭代對象,在Anaconda中需要逐個輸出,不能轉成list輸出。但是在pycharm中能夠轉換成list輸出。
———————————————————————————————————————————————————————————
如果有說的不對的,希望大家提出來,萬分感謝。