filter,map,reduce
来源:互联网 发布:象印保温杯 知乎 编辑:程序博客网 时间:2024/06/11 12:20
“filter(函数, 序列)”返回一个序列(尽可能与原来同类型),序列元素是原序列中由 指定的函数筛选出来的那些,筛选规则是“函数(序列元素)=true”。filter()可以用来取出 满足条件的子集。例如,为了计算一些素数:
>>> def f(x): return x % 2 != 0 and x % 3 != 0...>>> filter(f, range(2, 25))[5, 7, 11, 13, 17, 19, 23]
map函数有的时候可以用来替代循环,它比for循环的效率更高,原因是它是直接对应的c语言里的循环。
“map(函数,序列)”对指定序列的每一项调用指定的函数,结果为返回值组成的列表。map() 可以对序列进行隐式循环。例如,要计算三次方,可用:
>>> def cube(x): return x*x*x...>>> map(cube, range(1, 11))[1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]
可以有多个序列作为自变量,这时指定的函数必须也有相同个数的自变量,函数从每个序 列分别取出对应元素作为自变量进行调用(如果某个序列比其它的短则取出的值是None)。 如果指定的函数是None,map()把它当成一个返回自己的自变量的恒同函数。在函数用None的 情况下指定多个序列可以把多个序列搭配起来,比如“map(None, list1, list2)”可以把两 个列表组合为一个成对值的列表。见下例:
>>> seq = range(8)>>> def square(x): return x*x...>>> map(None, seq, map(square, seq))[(0, 0), (1, 1), (2, 4), (3, 9), (4, 16), (5, 25), (6, 36), (7, 49)]
“reduce(函数, 序列)”用来进行类似累加这样的操作,这里的函数是一个两个子变量的 函数,reduce()先对序列的前两项调用函数得到一个结果,然后对结果和序列下一项调用函 数得到一个新结果,如此进行到序列尾部。例如,要计算1到10的和:
>>> def add(x,y): return x+y...>>> reduce(add, range(1, 11))55
如果序列中只有一个值则返回这个值,序列为空时会产生例外。可以指定第三个自变量作 为初始值。有初始值时对空序列函数将返回初始值,否则函数先对初始值和序列第一项作用 ,然后对结果和序列下一项作用,如此进行到序列尾。例如:
>>> def sum(seq):... def add(x,y): return x+y... return reduce(add, seq, 0)... >>> sum(range(1, 11))55>>> sum([])0
- filter,map,reduce
- filter,map,reduce
- python:map filter reduce
- filter、map、reduce、lambda
- filter()map() reduce()
- python filter/map/reduce
- filter map reduce
- lambda(),map(),reduce(),filter()
- filter、map、reduce、lambda
- python map reduce filter
- Map,Filter和Reduce
- python map reduce filter
- map、filter、reduce函数
- python map reduce filter
- filter、map、reduce学习
- Map,Filter 和 Reduce
- python map,reduce,filter
- map&reduce&filter
- [VBA]探讨在工作表中找到最后一行
- 对arm-linux整个启动流程的认识1
- 分析Android 根文件系统启动过程(init守护进程分析)
- Android and Iphone (a)
- Ruby网络编程(1)
- filter,map,reduce
- java.lang.NoClassDefFoundError: com/sun/tools/javac/Main
- uip 移植在rt-thread上的源码
- SQLite使用简介
- iphone 自定义控件,通讯录,网络,电子书,控件特效 等源码
- python之新式类(new style class)
- JSON操作
- 跨域 CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR
- Zend Framework教程-Zend_Controller_Plugin插件