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']
原文地址:https://www.cnblogs.com/yaohong/p/7486967.html