Python函数式编程-map/reduce

news/2024/7/7 18:53:47

 

 

1.map

map()传入的第一个参数是f,即函数对象本身。

map()函数接收两个参数,一个是函数,一个是Interable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。

>>> def f(x):
...     return x*x
... 
>>> r=map(f,[1,2,3,4,5])
>>> list (r)
[1, 4, 9, 16, 25]

2.reduce 

reduce把一个函数作用在一个序列[x1, x2, x3, ...]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算。

例一:

>>> from functools import reduce
>>> def add(x,y):
...     return x+y
... 
>>> reduce(add,[1,3,5,7,9])
25
>>> 

例二:

>>> from functools import reduce
>>> def fn(x,y):
...     return  x*10 +y
... 
>>> reduce (fn,[1,3,5,7,9])
13579

 


http://lihuaxi.xjx100.cn/news/239591.html

相关文章

刚刚重做系统的计算机开机时间很慢,U盘重装系统后电脑开机慢该怎么解决?解决电脑开机慢的方法...

U盘重装系统后电脑开机很慢怎么办?很多用户都经常遇到这种情况,使用了win10系统一段时间之后,电脑运行速度开始变慢。这个时候有些用户就会选择使用u盘重装系统来解决这个问题。但是,电脑重装系统之后,反而开机变得很慢&#xff…

冒泡排序_python实现冒泡排序

冒泡排序是比较经典的面试题, 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经…

开源贡献 计算_如何克服恐惧并为开源做贡献

开源贡献 计算Are you a new developer? Or maybe even just an old-timer who has been in a company for ten years, working on an in-house project, and now you’re thinking, “Hey, I’ve been in my box a long time. What’s new out there?” I have been like th…

Android开发之SharedPreferences的封装

对于大部分初学者来说,如果想利用SharedPreferences进行数据存储的话大部分人(包括本人)应该会这样: 存储: SharedPreferences sharedPreferences getSharedPreferences(context.getPackageName(), Context.MODE_PRIVATE); Editor editor …

Git学习系列之一些常用的Git命令收录更新ing

不多说,直接上干货! 前言 对于Git工具,有必要整理和总结一些常用实用的命令。 http://p.primeton.com/articles/53cce3a3e138236138000026 https://www.zhihu.com/question/22932048 http://blog.csdn.net/w410589502/article/details/536063…

海思涵科技WIFI认证服务器不在线,在海思平台外加一个usb wifi模块,mt7601 加载ok,配置网络ok,但不能ping通?...

请教下:我用mt7601 usb wifi模块加载驱动 配置网络后经常打印PeerBeaconAtJoinAction(): Set CentralChannel1PeerBeaconAtJoinAction(): HT-CtrlChannel5, CentralChannel>5PeerBeaconAtJoinAction(): Set CentralChannel5PeerBeaconAtJoinAction(): HT-CtrlCha…

ios 应用和电脑共享文件夹_堪比AirDrop,苹果 iPhone与Windows电脑互传文件的三种方式...

如果你是苹果全家桶用户,一定会对 「AirDrop(隔空投送)」 功能赞誉有加,使用 AirDrop 可以在 iPhone 与 MacBook、iPad 等设备之间快速传递照片、视频或文件。遗憾的是,「AirDrop 仅限苹果设备之间使用」,而很多小伙伴应该和小兽一…

表格中td限宽溢出以省略号代替

table.ms-listviewtable {table-layout:fixed;width: 100%; } table.ms-listviewtable td[role"gridcell"]{white-space:nowrap;text-overflow:ellipsis;-moz-text-overflow: ellipsis;overflow:hidden; } 转载于:https://www.cnblogs.com/JaneBlog/p/7490445.html