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']