2024年3月20日发(作者:)

filter 函数

filter数是Python置函数之一,它是一个高阶函数,允许开发

者将序列中满足指定条件的元素过滤出来。本文将带你走进filter

函数,深入了解它的使用方法及特性。

filter函数的定义

filter数的定义是:filter(function, iterable),它接收两

个参数:

tfunction:可以是None,但一般是一个函数,filter此函数应

用到序列中的每个元素中,并返回一个可以迭代的对象。

titerable:可迭代的对象,如list,tuple,str等,filter

从中获取元素,然后将此函数应用到元素中。

filter数的工作原理

filter数将调用传入的函数,并将参数传入函数中,将返回值

作为filter返回值。当函数返回值为true,filter此元素加入到返

回值中;否则,filter 不会加入此元素,并继续检查下一个元素。

如果没有指定函数,filter将调用内置函数bool,只有当值为true,

filter返回该元素,否则将被过滤掉。

filter数的使用

在此,以一个常见的过滤任务为例,将列表中的所有偶数过滤出

来,以获得包含所有偶数的列表。

num_list = [1,2,3,4,5,6,7,8,9]

def is_even(x):

- 1 -

if x%2 == 0:

return True

else:

return False

new_list = filter(is_even, num_list)

print(list(new_list))

#上面filter数的案例中,传入参数为`filter(函数,可迭代对

象)`,函数`is_even`接收可迭代对象(即`num_list`)中的每一个

元素`x`,然后将该元素`x`作为参数传入函数`is_even`,如果`x`

能够被2整除,则返回值为true,然后filter数将此元素`x`加入

到输出列表中,循环完毕后,即可获得包含所有偶数的列表

`new_list`。

filter数的特点

t灵活:filter 不仅可以过滤数字,也可以过滤字符串及其他

类型的对象,只需要传入相应的函数即可。

t快捷:filterfor环更加高效,可以节约开发者的工作时间和

精力。

t安全:filter免了开发者在使用for环时遗漏的错误。

结论

本文介绍了filter数的定义、工作原理、使用及其特点,filter

数可以让我们快速且灵活地过滤序列中满足指定条件的元素,是开发

者非常实用的工具。

- 2 -

- 3 -