filter
函数是Python内置函数之一,可用于过滤序列中的元素,并返回符合条件的元素组成的新序列。
具体用法如下:
new_list = list(filter(function, sequence))
其中,function
是一个函数对象,用于判断sequence
中的每个元素是否符合条件。如果function
返回值为 True
,则该元素会被加入到new_list
列表中;否则该元素会被过滤掉。
下面举例说明。假如我们有一个列表lst
,它包含了若干个数字,我们要将其中所有的偶数取出来并组成一个新列表。可以使用filter来实现:
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9]
new_list = list(filter(lambda x: x%2 == 0, lst))
print(new_list) #[2, 4, 6, 8]
在这个例子中,我们使用lambda表达式定义了过滤条件x%2==0
,将其传入filter
函数中。filter
依次检查列表lst
中的每个元素,当元素为偶数时,该元素会被加入到new_list
列表中;反之,该元素会被过滤掉。最终输出结果为new_list=[2,4,6,8]
。