Python內建函數(21)——filter,pythonfilter

來源:互聯網
上載者:User

Python內建函數(21)——filter,pythonfilter

英文文檔:

filter(function, iterable)

Construct an iterator from those elements of iterable for which function returns true. iterable may be either a sequence, a container which supports iteration, or an iterator. If function is None, the identity function is assumed, that is, all elements of iterable that are false are removed.

Note that filter(function, iterable) is equivalent to the generator expression (item for item in iterable if function(item)) if function is not None and (item for item in iterable if item) if function is None.

See itertools.filterfalse() for the complementary function that returns elements of iterable for which function returns false.

 

說明:

  1. filter函數用於過濾序列。過濾的方式則是採用傳入的函數,去迴圈序列的元素調用,如果Function Compute的結果為True則保留元素,否則將捨棄該元素。

>>> a = list(range(1,10)) #定義序列>>> a[1, 2, 3, 4, 5, 6, 7, 8, 9]>>> def if_odd(x): #定義奇數判斷函數    return x%2==1>>> list(filter(if_odd,a)) #篩選序列中的奇數[1, 3, 5, 7, 9]

  2. 當function參數傳入None時,序列中的元素值如果為False,也會自動捨棄。

>>> c = ['',False,'I',{}] #定義序列>>> c['', False, 'I', {}]>>> list(filter(None,c)) #篩選函數為None,自動捨棄序列中的False值,Null 字元串、False值、空序列都是False值,所以丟棄['I']

 

聯繫我們

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