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 -


发布评论