今天给各位分享filter函数的作用的知识,其中也会对filter函数为何只出现第一个进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
filter高级用法
用法,
因为filter函数可以接受一个函数作为其第一个参数,该函数会作为过滤器来筛选可迭代对象中的元素,符合要求的元素会被保留,非符合要求的元素则被过滤掉。
该函数可以是lambda表达式、匿名函数或者自定义函数。
因此,我们可以通过自定义的函数来实现更加复杂的过滤,比如对于一个字典列表,我们可以筛选出所有名字以'A'开头并且年龄大于20岁的人,只需自定义一个函数即可实现。
利用filter函数的高阶用法可以让我们的代码更加简洁、优雅。
filter函数的用法注意事项
1.filter函数接收两个参数:待过滤序列和过滤函数。
2.过滤函数需要返回True或False。
3.过滤函数可以是内置函数也可以是自定义函数。
4.如果过滤函数没有指定,默认是bool函数。
5.filter函数返回的是一个迭代器,可以使用list()函数将其转换为列表。
6.filter函数不会修改原有的序列,只会返回符合条件的元素。
7.对于需要判断的条件较为复杂的过滤函数,可以考虑使用lambda表达式来简化代码。
8.如果想以容器(List)的形式返回过滤后的结果请使用toList(),如果想以集合(Set)的形式返回,请使用toSet()。
filter函数的用法
1.
FILTER函数的语法结构:=Filter(数组,包括,[if_empty])。
第一个参数“数组”为要筛选的区域或数组;
第二个参数“包括”为要设置的筛选条件;
第三个参数“if_empty”为找不到满足筛选条件的结果时返回的值,该参数可以省略
2.
案例一、单条件筛选
在下图工作表A2:D11区域筛选“性别”为“女”的数据,并将筛选结果返回在以F2单元格为起始单元格的区域。
3.
操作步骤:
选中F2单元格,输入公式:=FILTER(A2:D11,C2:C11="女"),回车确认公式,即可返回所有“性别”为“女”的数据。
公式说明:
第一个参数A2:D11为要进行筛选的区域;
第二个参数C2:C11="女"用于限定C2:C11单元格中的性别为女;
第三个参数公式进行了省略。
4.
案例二、多条件筛选
在下图表格A2:D11区域筛选同时满足性别为男、成绩>95的数据,并将满足条件的结果返回至以K2单元格为起始单元格的区域。
5.
操作步骤:
选中K2单元格,输入公式:=FILTER(A2:D11,(C2:C11="男")*(D2:D11>95)),回车确认公式,即可返回所有成绩>95的男性数据。
公式说明:
第一个参数A2:D11为要进行筛选的区域;
第二个参数(C2:C11="男")*(D2:D11>95)为设置的筛选条件,两个不同条件(C2:C11="男")和(D2:D11>95)中间用*进行连接,代表两个条件需要同时满足;
第三个参数公式进行了省略。
6.
案例三、满足其中一个条件筛选
在下图工作表的A2:D11区域中筛选满足性别为女或成绩>95的数据,并将满足条件的数据返回至P2单元格为起始单元格的区域
7.
操作步骤:
选中P2单元格,输入公式:=FILTER(A2:D11,(C2:C11="女")+(D2:D11>95)),回车确认公式,即可返回所有性别为女或者成绩>95的数据。
公式说明:
第一个参数A2:D11为要进行筛选的区域;
第二个参数(C2:C11="女")+(D2:D11>95)为设置的筛选条件,两个不同条件(C2:C11="女")和(D2:D11>95)中间用+连接,代表两个条件只需要满足其中一个即可;
第三个参数公式进行了省略。
filter函数高阶用法
filter函数有高阶用法,因为filter函数可以接受一个函数作为其第一个参数,该函数会作为过滤器来筛选可迭代对象中的元素,符合要求的元素会被保留,非符合要求的元素则被过滤掉。该函数可以是lambda表达式、匿名函数或者自定义函数。因此,我们可以通过自定义的函数来实现更加复杂的过滤,比如对于一个字典列表,我们可以筛选出所有名字以'A'开头并且年龄大于20岁的人,只需自定义一个函数即可实现。利用filter函数的高阶用法可以让我们的代码更加简洁、优雅。
filter函数基本用法
FILTER函数:FILTER函数是一个筛选函数,它可以根据我们设置的条件来筛选数据,
语法:=FILTER(array,include,[if_empty])
第一参数:表示想要筛选的数据区域
第二参数:筛选的条件,它是一个布尔值
第三参数:if_empty,根据条件如果找不到结果,就返回第三参数的值,它是一个可选参数
关于filter函数的作用到此分享完毕,希望能帮助到您。