python学习之map函数和reduce函数的运用
map()函数
Python中的map()函数接收两个参数,一个是调用函数对象(python中处处皆对象,函数未实例前也可以当对象一样调用),另一个是调用函数所需要的参数,返回值是迭代计算出的结果所组成的列表。
def func(x):
return x*x
r=map(func,[1,2,3,4,5,6,7,8,9])
l=list(r)
print(l)
显示结果:
[1, 4, 9, 16, 25, 36, 49, 64, 81]
reduce() 函数
reduce函数同样需要两个参数,一个是调用函数对象,另一个数调用函数所需要的参数,其返回值是将计算结果继续和下一个元素做累积。
from functools import reduce
def add(x,y):
print('x is:',x,'y is:',y)
return x+y
ret=reduce(add,[1,3,5,7,9])
print(ret)
显示结果:
x is: 1 y is: 3
x is: 4 y is: 5
x is: 9 y is: 7
x is: 16 y is: 9
25
或许可能会问,python的内置函数sum()就可以得到想要的结果,为什么要有reduce呢。看如下案例,我们想要将[1,3,5,7,9]返回成13579
from functools import reduce
def add(x,y):
print('x is:',x,'y is:',y)
return x*10+y
ret=reduce(add,[1,3,5,7,9])
print(ret)
显示结果:
x is: 1 y is: 3
x is: 13 y is: 5
x is: 135 y is: 7
x is: 1357 y is: 9
13579
python学习之map函数和reduce函数的运用的更多相关文章
- Python中的map()函数和reduce()函数的用法
Python中的map()函数和reduce()函数的用法 这篇文章主要介绍了Python中的map()函数和reduce()函数的用法,代码基于Python2.x版本,需要的朋友可以参考下 Py ...
- python的map函数和reduce函数(转)
map函数 map()函数 map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回. 例 ...
- Python 中的map函数,filter函数,reduce函数
自学python,很多地方都需要恶补. 三个函数比较类似,都是应用于序列的内置函数.常见的序列包括list.tuple.str. 1.map函数 map函数会根据提供的函数对指定序 ...
- Python之路Python作用域、匿名函数、函数式编程、map函数、filter函数、reduce函数
Python之路Python作用域.匿名函数.函数式编程.map函数.filter函数.reduce函数 一.作用域 return 可以返回任意值例子 def test1(): print(" ...
- Python3版本中的filter函数,map函数和reduce函数
一.filter函数: filter()为已知的序列的每个元素调用给定的布尔函数,调用中,返回值为非零的元素将被添加至一个列表中 def f1(x): if x>20: return True ...
- 8.1.1默认的map函数、reduce函数、分区函数
1.1.1 默认的map函数和reduce函数 (1)Maper和Reuducer默认类 如果没有指定maper类和reduce类,则会用默认的Maper和Reuducer类去处理数据 ...
- python一些内建函数(map,zip,filter,reduce,yield等)
python一些内建函数(map,zip,filter,reduce,yield等) map函数 Python实际上提供了一个内置的工具,map函数.这个函数的主要功能是对一个序列对象中的每一个元素应 ...
- Python学习(七)——匿名函数、map函数、filter函数、reduce函数与其他内置函数
匿名函数 lambda x: x + 1 # lambda:定义匿名函数的关键字 # x:形参 # x+1:程序处理逻辑 fun = lambda x: x + 1 print(fun(5)) #6 ...
- [python学习篇][廖雪峰][2][高级函数] map 和reduce
我们先看map.map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回. 举例说明,比如我们有一个函数f(x)=x2,要把这个函数 ...
随机推荐
- FastDFS 注意事项
1.nginx集成FastDFS模块时,配置文件问题 检测到nginx日志: /home/soft/fastdfs-nginx-module/src/common.c, line: 155, loa ...
- sublime介绍常用插件和快捷键
简介 Sublime Text是由程序员Jon Skinner于2008年1月份所开发出来的,它最初被设计为一个具有丰富扩展功能的Vim. 是一个跨平台的编辑器,同时支持Windows.Linux.M ...
- MySQL累加值时,考虑到值有为NULL的情况.
一个字段,表示报名人数,默认为null,经考虑,以以下sql执行加1: ) where id='xxx'
- Java 开发23种设计模式
设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...
- Git的使用(详细)
一下内容引自网络 原帖:http://blog.jobbole.com/78960/ 原文出处: 涂根华的博客
- April 28 2017 Week 17 Friday
The only thing more painful than learning from experience is not learning from experience. 比从经验中学习更为 ...
- BZOJ 2735: 世博会 主席树+切比雪夫距离转曼哈顿距离
2735: 世博会 Time Limit: 20 Sec Memory Limit: 128 MBSubmit: 124 Solved: 51[Submit][Status][Discuss] D ...
- SAP成都研究院大卫哥:SAP C4C中国本地化之微信小程序集成
今天的文章来自Wu David,SAP成都研究院C4C开发团队的架构师,在加入团队之前曾经在SAP上海研究院工作,组内同事习惯亲切地称呼他为大卫哥. 大卫哥身高据Jerry目测有1米8以上,是成都C4 ...
- 在WINDOWS下安装PEAR
一.从官网下载go-pear.phar 文件,地址http://pear.php.net/go-pear.phar 将下载好的文件go-pear.phar 放到PHP安装目录下,dos 命令下进入PH ...
- mysql索引和正确使用方式
一.索引类型 B树索引:大部分都是,因此B树的特性限制了索引如何使用:必须看看索引的正确使用限制(含组合索引的限制)http://blog.csdn.net/lovemdx/article/detai ...