[转]Python 中的 lambda,filter,map,reduce,apply
1. lambda
1. 基本形式:
函数名=lambda args1,args2,...,argsn:expression
与C语言中的宏定义类似
2. Code
isodd = lambda x: x%2==0
pow2 = lambda x: x<<1
2. filter
1. 基本形式
ans=filter(function,array)相当于一个过滤函数,这里的function的返回值为布尔型,array中满足function的元素留下。
2. Code
array=[1,2,3,4,5,6,7]
isodd = lambda x: x%2==0
ans=filter(isodd,array)
print ans
3. 函数原型
def filter(function,array):
ans=[]
for each in array:
if function(each) is True:
ans.append(each)
return ans
3. map
1. 基本形式
map(function,args),对序列args进行function操作,得到结果序列。
2. Code
array=[1,2,3,4,5,6,7]
pow2 = lambda x: x<<1
ans1=map(pow2,array)
print ans1
3. 函数原型
def map(function,array):
ans=[]
for each in array:
ans.append(fun(each))
return ans
4. reduce
1. 函数原型
reduce(function,array,initval) function是一个带有两个参数的函数,array是待处理的序列,initval是初始值
2. Code
array=[1,2,3,4,5,6,7]
add = lambda x,y: x+y
ans2= reduce(add,array,0)
print ans
3. 函数原型
def reduce(function,array,initval):
tmp = list(array)
if initval is None:
ans = list.pop(0) #取列表的第一个元素,并删除
else:
ans =initval
for each in tmp:
ans = function(ans,each)
return ans; ans2= reduce(add,array,0)
5. apply
1. 基本形式
apply(function,(function的参数))是用来替代function的,
2. Code
add = lambda x,y: x+y
apply(add,(1,2))
[转]Python 中的 lambda,filter,map,reduce,apply的更多相关文章
- Python经常使用内置函数介绍【filter,map,reduce,apply,zip】
Python是一门非常简洁,非常优雅的语言,其非常多内置函数结合起来使用,能够使用非常少的代码来实现非常多复杂的功能,假设相同的功能要让C/C++/Java来实现的话,可能会头大,事实上Python是 ...
- lambda,filter,map,reduce
# lambda,filter,map,reduce from functools import reduce print('返回一个迭代器') print((x) for x in range(5) ...
- Python学习(五)函数 —— 内置函数 lambda filter map reduce
Python 内置函数 lambda.filter.map.reduce Python 内置了一些比较特殊且实用的函数,使用这些能使你的代码简洁而易读. 下面对 Python 的 lambda.fil ...
- Python中特殊函数和表达式lambda,filter,map,reduce
1.lambda:使用lambda表达式可以定义一个匿名函数 lambda表达式是一种简洁格式的函数.该表达式不是正常的函数结构,而是属于表达式的类型 (1)基本格式: lambda 参数,参数... ...
- python中的lambda、map、reduce、filter
filter(function, sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决 ...
- Python高级特性: 函数编程 lambda, filter,map,reduce
一.概述 Python是一门多范式的编程语言,它同时支持过程式.面向对象和函数式的编程范式.因此,在Python中提供了很多符合 函数式编程 风格的特性和工具. 以下是对 Python中的函数式编程 ...
- Python中的lambda、map和filter
翻译.修改自https://medium.com/@happymishra66/lambda-map-and-filter-in-python-4935f248593 1.lambda lambda运 ...
- Python内置函数filter, map, reduce
filter.map.reduce,都是对一个集合进行处理,filter很容易理解用于过滤,map用于映射,reduce用于归并. 是Python列表方法的三架马车. 1. filter函数的功能相当 ...
- Python基础灬高阶函数(lambda,filter,map,reduce,zip)
高阶函数 lambda函数 关键字lambda表示匿名函数,当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便. lambda函数省略函数名,冒号前为参数,冒号后函数体. # ...
随机推荐
- js 阻止浏览器默认行为
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- OO基本原则
1. 单一职责原则(SRP) 一个类应该最多只能有一个因素能够给导致其变化,类中的方法应该都是相关性很高的,即"高内聚" 2. 开放-封闭原则(OC) - 扩 ...
- github 添加项目
下载git安装 ->https://git-scm.com/downloads 新建git目录 在目录下右键选择Git Bash Here 执行 git init 拷贝项目到git目录下 在gi ...
- Unity3d 着色器语法(Shader)
Shader "name" { [Properties] Subshaders [Fallback] } 定义了一个着色器.着色器拥有一个 Properties 的列表.着色器包含 ...
- jeasyui datagrid控件的一个小问题
页面上用了datagrid,但今天把easyui更新到1.4.2以后出了个错,Cannot read property 'width' of null,以前用1.3.6的时候没有这个问题. 由于表格中 ...
- IOS中无缓存的图片载入
在IOS中,我们常用[UIImage imageNamed]方法获取图像,这种方法简便,容易理解.但是有个缺点,就是有缓存.这种方式 传人的图像的就是通过文件名方式文件名.如果,我们内存有限,我们就必 ...
- Oracle 身份证校验
SELECT SUBSTR('&AI', 0, 17) || TRANSLATE(DECODE(MOD(SUM(SUBSTR(WI, REGEXP_INSTR(WI, ' ', 1, I) + ...
- android应用中增加权限判断
android6.0系统允许用户管理应用权限,可以关闭/打开权限. 所以需要在APP中增加权限判断,以免用户关闭相应权限后,APP运行异常. 以MMS为例,在系统设置——应用——MMS——权限——&g ...
- iOS遍历相册中的图片
//获取相册的所有图片 - (void)reloadImagesFromLibrary { self.images = [[NSMutableArray alloc] init]; dispatch_ ...
- 类Collections的静态方法的使用(代码)
package cn.itcast.p2.toolclass.collections.demo; import java.util.ArrayList; import java.util.Collec ...