[轉]Python 中的 lambda,filter,map,reduce,apply

來源:互聯網
上載者:User

標籤:

1. lambda

1. 基本形式:

 函數名=lambda args1,args2,...,argsn:expression
與C語言中的宏定義類似

2. Code

1 isodd = lambda x: x%2==02 pow2 = lambda x: x<<1
2. filter

1. 基本形式

ans=filter(function,array)相當於一個過濾函數,這裡的function的傳回值為布爾型,array中滿足function的元素留下。

2. Code

1 array=[1,2,3,4,5,6,7]2 isodd = lambda x: x%2==03 ans=filter(isodd,array)4 print ans

3. 函數原型

1 def filter(function,array):2     ans=[]3     for each in array:4         if function(each) is True:5             ans.append(each)6     return ans
3. map

1. 基本形式

map(function,args),對序列args進行function操作,得到結果序列。

2. Code

1 array=[1,2,3,4,5,6,7]2 pow2 = lambda x: x<<13 ans1=map(pow2,array)4 print ans1

3. 函數原型

1 def map(function,array):2     ans=[]3     for each in array:4         ans.append(fun(each))5     return  ans
4. reduce

1. 函數原型

reduce(function,array,initval) function是一個帶有兩個參數的函數,array是待處理的序列,initval是初始值

2. Code

1 array=[1,2,3,4,5,6,7]2 add = lambda x,y: x+y3 ans2= reduce(add,array,0)4 print ans

3. 函數原型

 1 def reduce(function,array,initval): 2     tmp = list(array) 3     if initval is None: 4        ans = list.pop(0) #取列表的第一個元素,並刪除 5     else: 6         ans =initval 7     for each in tmp: 8         ans = function(ans,each) 9     return ans;10 11 ans2= reduce(add,array,0)
5. apply

1. 基本形式

apply(function,(function的參數))是用來替代function的,

2. Code

1 add = lambda x,y: x+y2 apply(add,(1,2))

 

[轉]Python 中的 lambda,filter,map,reduce,apply

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.