本节书摘来自异步社区《Python数据科学指南》一书中的第1章,第1.18节,作者[印度] Gopi Subramanian ,方延风 刘丹 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。
1.18 使用过滤器
顾名思义,过滤器就是按照给定的函数从一个序列中过滤出相应的元素。给定一个包含负数和正数的序列,我们可以使用过滤器函数将所有的负数过滤出来。过滤器filter是Python的内置函数,它使用一个函数和一个可迭代对象作为参数。
filter(aFunction, iterable)
函数被作为参数传递,返回一个测试结果的布尔值。
函数被应用到可迭代对象的所有元素,测试值为真的所有项以列表的形式作为返回值。lambda匿名函数最常被用来和filter函数配合。
1.18.1 准备工作
请看一个简单的示例演示filter函数用法。
1.18.2 操作方法
请看如何使用过滤器filter函数的示例。
# 先声明一个列表
a = [10,20,30,40,50]
# 应用filter函数到列表的所有元素上
print filter(lambda x:x>10,a)
1.18.3 工作原理
我们使用的lambda函数很简单,当给定的值大于10时,它返回真值,否则返回假值。我们的print语句给出下面的结果。
[20, 30, 40, 50]
如你所见,只有大于10的元素才被返回。