python高级特性-filter

python内建的函数filter用于过滤序列

和map()相同:filter()也接收一个函数的序列。

和map()不同:filter()把传入的函数依次依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。

>>> def is_odd(n):
...      return n%2==1
... 
>>> list(filter(is_odd,[1,2,3,4,5]))#也可以是filter(is_odd,[1,2,3,4,5])
[1, 3, 5]

去除空格

>>> def not_empty(s):
...     return s and s.strip(' ')
... 
>>> list(filter(not_empty, ['A', '', 'B', None, 'C', '  ']))
['A', 'B', 'C']

 

posted @ 2017-09-06 21:08  姚红  阅读(328)  评论(0编辑  收藏  举报