filter函数跟它的名字一样,用于过滤序列。
它也接收一个函数跟一个序列,然后将函数作用于序列中的每一个元素。不过接收的那个函数的返回值必须得是布尔值,根据返回值是True还是Flase,来决定保留该元素还是丢弃。
比如,在一个list中,删掉偶数,保留奇数:
>>> def isOdd(num):
return num%2==1
list(filter(isOdd, [1,3,2,7,4,9,10]))
filter返回的是一个Iterator,是一个惰性序列。
网友评论