filter函数相关知识
-
JS中filter函数的使用方法和实例filter 方法用来迭代一个数组,并且按给出的条件过滤出符合的元素。 filter 方法传入一个回调函数,这个回调函数会携带一个参数,参数为当前迭代的项(我们叫它 val )。 回调函数返回 true 的项会保留在数组中,返回 false 的项会被过滤出数组。 使用 filter 来创建一个新数组,新数组的值是 oldArray 中值小于6的元素。不许改变原数组 oldArray . 代码: var oldArray = [1,2,3,4,5,6,7,8,9,10]; // 只能在这一行下面写代码 var newArray = oldArray.filter(funct
-
python进阶笔记函数 把函数作为参数 map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回 reduce()函数也是Python内置的一个高阶函数,reduce()函数接收的参数和 map()类似,一个函数 f,一个list,reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值 filter()函数是 Python 内置的另一个有用的高阶函数,filter()函数接收一个函数 f 和一个list,这
-
PYTHON filter()#!/usr/bin/env python # -*- coding:utf-8 -*- #filter()函数是 Python 内置的另一个有用的高阶函数, # filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False, # filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。 #例如,要从一个list [1, 4, 6, 7, 9, 12, 17]中删除偶数,保留奇数 def is_odd(x): return x%2==1 print filter(is_odd,[1,2,3,4,5,6,7,8,9]) #
-
Python函数式编程中map()、reduce()和filter()函数的用法Python中map()、reduce()和filter()三个函数均是应用于序列的内置函数,分别对序列进行遍历、递归计算以及过滤操作。这三个内置函数在实际使用过程中常常和“行内函数”lambda函数联合使用,我们首先介绍下lambda函数。 1、lambda函数 lambda函数的Python3.x API文档 lambda An anonymous inline function consisting of a single expression which is evaluated when the function is called. The syntax to create a lambda function is lambda [arguments]:
filter函数相关课程
filter函数相关教程
- 2.2 filter 和 filterTo 操作符。 根据用户定义的条件筛选集合中的数据,并且由此产生一个新的集合。这个新的集合是原集合的子集。源码定义public inline fun <T> Iterable<T>.filter(predicate: (T) -> Boolean): List<T> { return filterTo(ArrayList<T>(), predicate)}public inline fun <T, C : MutableCollection<in T>> Iterable<T>.filterTo(destination: C, predicate: (T) -> Boolean): C { for (element in this) if (predicate(element)) destination.add(element) return destination}源码解析首先,从整体上可以看出 filter 是一个 Iterable<T> 的扩展函数并且是一个内联函数,该函数接收一个以接收T类型返回一个 Boolean 类型的 lambda 表达式 predicate 作为参数,所以它还是一个高阶函数,返回一个 List<T> 集合然后,看具体的内部实现是调用了另一个函数 filterTo,并传入新创建的 ArrayList<T>() 可变集合对象,然后继续把 lambda 表达式作为参数传递到 filterTo 函数中,在 filterTo 函数去实现真正的过滤操作。传入的 lambda 表达式 predicate 实际上就是外部调用者传入的过滤条件,可以看到在 filterTo 内部是利用一个 for 循环进行筛选判断符合 lambda 表达式条件的,就添加到 filter 调用 filterTo 函数传递的参数 ArrayList<T> 新集合对象中,最后就是返回这个 ArrayList<T> 新集合对象。所以 filter 最后筛选出来的还是一个集合。原理图解使用场景filter的操作符使用场景:从一个集合筛选出符合条件的元素,并以一个新集合返回。fun main(args: Array<String>) { val numberList = listOf(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10) val newNumberList = numberList.filter { number -> number % 2 == 0//筛选出偶数 } newNumberList.forEach { print("$it ")}}filterTo 的操作符使用场景: 从多个集合筛选出符合条件的元素,并最终用一个集合进行收集从每个集合筛选出的元素。fun main(args: Array<String>) { val numberList1 = listOf(23, 65, 14, 57, 99, 123, 26, 15, 88, 37, 56) val numberList2 = listOf(13, 55, 24, 67, 93, 137, 216, 115, 828, 317, 16) val numberList3 = listOf(20, 45, 19, 7, 9, 3, 26, 5, 38, 75, 46) //需要注意一点的是,我们从源码看到filterTo第一个参数destination是一个可变集合类型,所以这里使用的mutableListOf初始化 val newNumberList = mutableListOf<Int>().apply { numberList1.filterTo(this) { it % 2 == 0 } numberList2.filterTo(this) { it % 2 == 0 } numberList3.filterTo(this) { it % 2 == 0 } } print("从三个集合筛选出的偶数集合: ") newNumberList.forEach { print("$it ") }}
- 3.4 filter filter 用来过滤元素,在元素遍历时,可以使用 filter 来提取我们想要的内容,这也是集合常用的方法之一。其示意图如下:我们来看一个例子:1284输出:[6, 7]此时,filter 会遍历整个集合,将满足将满足条件的元素提取出来,并通过收集器收集成新的集合。
- 4. 常见集合使用函数式 API map 函数:fun main() { val numbers: List<Int> = listOf(1, 2, 3, 4) numbers .map { "This Number is: $it" }//Int元素类型转化String类型元素 .forEach { print(it) }}filter 函数:fun main() { val numbers: List<Int> = listOf(1, 2, 3, 4) numbers .filter { it <=3 }//筛选元素,只有小于等于3元素才会被输出 .forEach { print(it) }}forEach 函数:fun main() { val numbers: List<Int> = listOf(1, 2, 3, 4) numbers.forEach { print(it) }//遍历输出}drop 函数:fun main() { val numbers: List<Int> = listOf(1, 2, 3, 4) numbers.drop(3).forEach { println(it) }//根据传入数值3,表示从左到右顺序地删除3个集合中的元素,并返回集合中剩余的元素。}take 函数:fun main() { val numbers: List<Int> = listOf(1, 2, 3, 4) numbers.take(3).forEach { println(it) }//根据传入数值3,表示从左到右顺序地取前3个集合中的元素,剩下元素直接丢弃。}find 函数:fun main() { val languages: List<Int> = listOf(1, 2, 3, 4) val element: Int? = languages.find { it == 3 }//查找集合符合条件首次出现的元素,找不到返回null println(element ?: "Not Found")}joinToString 函数:fun main() { val numbers: List<Int> = listOf(1, 2, 3, 4) println(numbers.joinToString(separator = "-", prefix = "<", postfix = ">"))//将集合中元素用separator分割符连接起来,并且在前后加上前缀和后缀 //输出结果: <1-2-3-4>}first 函数:fun main() { val numbers: List<Int> = listOf(1, 2, 3, 4) println(numbers.first())//取出集合中第一个元素}single 函数:fun main() { val numbers: List<Int> = listOf(1) println(numbers.single())//single函数取出集合唯一的一个元素,并且该集合只有一个元素,否则就会抛出异常}last 函数:fun main() { val numbers: List<Int> = listOf(1, 2, 3, 4) println(numbers.last())//取出集合中最后一个元素}sum 函数:fun main() { val numbers: List<Int> = listOf(1, 2, 3, 4) println(numbers.sum())//累加求和函数,不过只针对数字类型元素集合,Number类型就包括了Int、Float、Double}sort、sortedDescending 函数:fun main() { val numbers: List<Int> = listOf(2, 1, 4, 3) println(numbers.sorted())//升序排序 println(numbers.sortedDescending())//降序排序}
- 3 增加自定义的 Filter 在 HttpSecurity 对象中增加自定义 Filter 可用于实现认证方式的扩展等场景,扩展 Filter 有两步很重要,第一是实现 javax.servlet.Filter 接口;第二是指定新过滤器的位置。例如,扩展自定义接口 SimpleFilter。自定义接口类 public class SimpleFilter implements Filter { @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { System.out.println("In SimpleFilter"); }}加入到指定位置,比如加在 UsernamePasswordAuthenticationFilter 之前 http.addFilterBefore(new SimpleFilter(), UsernamePasswordAuthenticationFilter.class);
- 1. 操作符函数的分类 筛选类操作符(Filtering operations):slice、filter系列、drop系列、take系列;并集类操作符(Aggregate operations):any、all、count、none、fold系列、forEach系列、max系列、min系列、reduce系列、sum系列;映射类操作符(Mapping operations):flatMap系列、groupBy系列、map系列;元素类操作符(Element operations):elementAt系列、first系列、find系列、indexOf系列、last系列、single系列;排序类操作符(Ordering operations):reverse、sort系列;生成类操作符(Generation operations):partition、plus系列、zip系列。Tips:由于篇幅问题,本节课我们会先将筛选类的操作符函数介绍完毕,其他操作函数后续文章进行讲解。
- 2.1 新建Filter并运行 在我们前面新建的动态 Web 项目中,我们通过鼠标右键单击我们的 src 目录,在弹出的菜单选项中选择 New > Filter 选项,如下图所示:接着在弹出的窗口中输入我们的新建 Filter 的包名和类名,如下图所示:点击 Next,这里我们修改一下,设置为拦截所有请求,如下图所示:点击 Next,这里保持默认即可,如下图所示:点击 Finish,我们的 Filter 类就创建出来了,如下图所示:上图中,我们添加了两句代码,用于测试这个 Filter 类是否起作用,由于是新增了类文件,我们重启服务器后,刷新页面,会发现后台输出的相应信息,如下图所示:到这里,说明我们通过 Eclipse 创建的 Filter 可以正常运行了。
filter函数相关搜索
-
face
fade
fadein
fadeout
fadeto
fail
family
fastcgi
fastjson
fault
fclose
fdisk
feed
fetch
ff浏览器
fgets
fields
fieldset
fighting
figure