filter用法:
filter()用法和map()函数相同,可以接收函数和序列,不同的是filter可以主动进行过滤和挑选。
举例:在一个list中,删掉偶数,只保留奇数
def is_odd(n):
... return n % 2 == 1
...
>>> list(filter(is_odd,[1,2,4,5,6,9,10,15]))
[1, 5, 9, 15]
把一个序列中的空字符串删掉:
def not_empty(s):
... return s and s.strip()
...
>>> list(filter(not_empty,['A','','B',None,'C',' ']))
['A', 'B', 'C']
注意:strip()函数为去掉函数
注意到filter()函数返回的是一个Iterator,也就是一个惰性序列,所以要强迫filter()完成计算结果,需要用list()函数获得所有结果并返回list。
用filter求素数
网友评论