首页技术文章正文

Python培训:filter函数的用法

更新时间:2022-08-04 来源:黑马程序员 浏览量:

IT培训班

  filter函数会对指定序列执行过滤操作。

  filter函数的定义如下:

filter(function, iterable)

  在上述定义中,第一个参数function可以是函数名称或者None,第二个参数iterable可以是序列、支持迭代的容器或迭代器。返回值为迭代器对象。其中,function函数只能接收一个参数,而且该函数的返回值为布尔值。

  filter函数的作用是以参数迭代器中的每个元素分别调用function函数,最后返回的迭代器包含调用结果为True的元素。示例代码如下:

func = lambda x:x % 2
result = filter(func, [1, 2, 3, 4, 5])
print(list(result))

  上述示例中,定义了一个匿名函数func,返回某个数取余以后的结果,接着调用filter函数将[1,2,3,4,5]中的每个元素取出来,作为func的参数调用func函数,之后将结果转换为列表的形式显示。

  程序输出的结果为:

[1, 3, 5]

  为了让大家理解filter函数的作用,接下来,通过一张图来描述上述示例执行的原理,如图7-12所示。

1659600379867_filter函数原理图.jpg

  图7-12 filter函数原理图

  图7-12分析了上述程序执行的原理。由图可知,程序把原始序列的元素执行取余操作后,将不能被2整除(结果为True)的元素筛选出来构成一个新的列表。

分享到:
在线咨询 我要报名
和我们在线交谈!