Python中的apply,filter和map函數

來源:互聯網
上載者:User

apply函數:

apply(func [, args [, kwargs ]]) 函數用於當函數參數已經存在於一個元組或字典中時,間接地調用函數。args是一個包含將要提供給函數的按位置傳遞的參數的元組。如果省略了args,任何參數都不會被傳遞,kwargs是一個包含關鍵字參數的字典。

apply()的傳回值就是func()的傳回值,apply()的元祖參數是有序的,元素的順序必須和func()形式參數的順序一致

 

map()可以對多個序列的每個元素都執行相同的操作,並組成列表返回,聲明如下:
map(func, sequence[, sequence,...]) -> list
4.1 參數func是自訂的函數,實現對序列每個元素的操作
4.2 參數sequence為待處理的序列,可以有多個序列
4.3 map()的傳回值是對序列元素處理後的列表

a = [1, 2, 3, 4, 5]

def foo(x):

    return 3 * x

map(foo, a) #[3, 6, 9, 12, 15]

 

filter()可以對某個序列做過濾處理,對自訂函數的參數返回的結果是否為“真”來過濾,並一次性返回處理結果。
聲明如下:
filter(func or None, sequence) -> list, tuple, or string
2.1 參數func是自訂的過濾函數,在函數func(item)中定義過濾的規則。如果func為None,則過濾項都為真,返回所有的序列元素。
2.2 參數sequence為待處理的序列
2.3 filter()的傳回值是由func()的傳回值組成的序列,返回的類型與參數sequence的類型相同
2.4 filter()的過濾函數func()的參數不可為空
filter函數以一個函數和序列作為參數,它返回該序列的子集,其中子集的成員能滿足函數的條件。
如果filter以None作為第一個參數,它將過濾掉序列中所有假值 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.