Python中map和reduce函数
①从参数方面来讲:
map()函数:
map()包含两个参数,第一个是参数是一个函数,第二个是序列(列表或元组)。其中,函数(即map的第一个参数位置的函数)可以接收一个或多个参数。
reduce()函数:
reduce() 第一个参数是函数,第二个是 序列(列表或元组)。但是,其函数必须接收两个参数。
②从对传进去的数值作用来讲:
map()是将传入的函数依次作用到序列的每个元素,每个元素都是独自被函数“作用”一次;(请看下面的栗子)
reduce()是将传人的函数作用在序列的第一个元素得到结果后,把这个结果继续与下一个元素作用(累积计算),
最终结果是所有的元素相互作用的结果。(请看下面的栗子)
举个栗子:
map()函数:
- # 传入一个参数
- def one_p(x):
- return x * x
- print 'map1.1:', map(one_p, range(1, 5))
- #结果:map1.1: [1, 4, 9, 16]
- print 'map1.2:', map(one_p, [1, 2, 3, 4, 5, 6])
- #结果:map1.2: [1, 4, 9, 16, 25, 36]
- # 传入多个参数
- a = [1, 2, 3, 4, 5]
- b = [1, 1, 6, 2, 3]
- c = [1, 2, 3, 4, 5]
- s = map(lambda (x, y, z): x * y * z, zip(a, b, c))
- print 'map2:', s
- #结果:map2: [1, 4, 54, 32, 75]
reduce()函数:
- r1 = reduce(lambda x, y: x * y, (2, 2, 6, 2)) #运算过程:(((2*2)*6)*2)
- r2 = reduce(lambda x, y: x * y, (2, 2, 6), 2) #<span >运算过程:(((2*2)*6)*2)</span>
- print 'r1:', r1 # 结果:r1: 48
- print 'r2:', r2 # 结果:r2: 48
Python中map和reduce函数的更多相关文章
- python中map、reduce函数
map函数: 接受一个函数 f 和一个 list .格式:map( f , L),对L中的每个元素,进行f(x)的一个操作. 例如,对于list [1, 2, 3, 4, 5, 6, 7, 8, 9] ...
- Python中map和reduce函数??
①从参数方面来讲: map()函数: map()包含两个参数,第一个是参数是一个函数,第二个是序列(列表或元组).其中,函数(即map的第一个参数位置的函数)可以接收一个或多个参数. reduce() ...
- 【转】Python 中map、reduce、filter函数
转自:http://www.blogjava.net/vagasnail/articles/301140.html?opt=admin 介绍下Python 中 map,reduce,和filter 内 ...
- python的map和reduce函数
map函数时python的高级内置函数 语法为:map(function, iterable, ...) 参数:function -- 函数iterable -- 一个或多个序列 将function作 ...
- python中map()和reduce()的使用
map() 会根据提供的函数对指定序列做映射.map(function, iterable, ...)Python 3.x 返回迭代器.print(map()) 返回迭代器地址一般和list一起用 才 ...
- python中map()函数用法
map函数的原型是map(function, iterable, …),它的返回结果是一个列表. 参数function传的是一个函数名,可以是python内置的,也可以是自定义的. 参数iterabl ...
- Python中map,filter,reduce,zip的应用
事例1: l=[('main', 'router_115.236.xx.xx', [{'abc': 1}, {'dfg': 1}]), ('main', 'router_183.61.xx.xx', ...
- Python函数式编程中map()、reduce()和filter()函数的用法
Python中map().reduce()和filter()三个函数均是应用于序列的内置函数,分别对序列进行遍历.递归计算以及过滤操作.这三个内置函数在实际使用过程中常常和“行内函数”lambda函数 ...
- Python【map、reduce、filter】内置函数使用说明(转载)
转自:http://www.blogjava.net/vagasnail/articles/301140.html?opt=admin 介绍下Python 中 map,reduce,和filter 内 ...
随机推荐
- python—day02_基本数据类型
1,字符串 字符串常用功能: 移除空白 分割 长度 索引 切片 1)移除空白 """S.strip([chars]) -> str Return a copy of ...
- Spring BeanFactory 容器
Spring 的 BeanFactory 容器 这是一个最简单的容器,它主要的功能是为依赖注入 (DI) 提供支持,这个容器接口在 org.springframework.beans.factory. ...
- UVA 11651
题目链接:https://cn.vjudge.net/problem/UVA-11651 解题思路: 思路来源于网络. DP + 矩阵快速幂. 设 dp[i][j] 为满足 score 为 i 且最后 ...
- shiro简单的认证功能
使用静态shiro.ini文件完成认证 创建项目到爆 <dependency> <groupId>org.apache.shiro</groupId> <ar ...
- 实现.Net程序中OpenTracing采样和上报配置的自动更新
前言 OpenTracing是一个链路跟踪的开放协议,已经有开源的.net实现:opentracing-csharp,同时支持.net framework和.net core,Github地址:htt ...
- [Unity2d系列教程] 001.引用外部DLL - C#
众所周知,Unity可以支持多种语言开发, C#, JS, Boo三种方式的开发, 能够很方便的集成一些外部插件,以便调用现有的动态链接库.学过C#的都知道C#可以生成一个dll供给其他的程序调用.那 ...
- Python数据分析:pandas玩转Excel (二)
1 对Excel文件的操作 方法一: 使用xlrd库或者xlwt库进行对excel表格的操作读与写: 方法二: pandas库同样支持excel的读写操作:且更加简便. 2 pd.read_excel ...
- python报错2
缩进导致的报错 IndentationError: unindent does not match any outer indentation level NameError 命名错误 原因是: na ...
- Linux passwd 提权
利用条件,passwd 可写 ls -al /etc/passwd 利用方式: 生成密钥 openssl passwd -1 -salt test 123456 写入passwd echo 'tes ...
- undefined和nul