filter()函数用于过滤序列,去除掉不符合条件的元素,返回由符合条件元素组成的新列表。
用法:filter(function, iterable)
def is_odd(n):return n % 2 == 1newlist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])print(newlist)[1, 3, 5, 7, 9]
使用lambda():
>>> numbers = range(-5,5)>>> numbers[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4]>>> filter(lambda x: x>0, numbers)[1, 2, 3, 4]# 使用列表解析的同等写法>>> [x for x in numbers if x>0][1, 2, 3, 4]
作用于字符:
>>> filter(lambda c: c!='i', 'qiwsir')'qwsr'
