python高级特性-filter

2019-09-11 16:04:03 浏览数 (1)

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

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

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

代码语言:javascript复制
>>> 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])

去除空格

代码语言:javascript复制
>>> def not_empty(s):
...     return s and s.strip(' ')
... 
>>> list(filter(not_empty, ['A', '', 'B', None, 'C', '  ']))
['A', 'B', 'C']

0 人点赞