码迷,mamicode.com
首页 > 编程语言 > 详细

python的map与reduce

时间:2018-01-27 19:11:22      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:list   定义   bsp   pos   必须   font   map   blog   post   

 

map(f, Itera)  # 对每一个元素都使用f(x)

 

>>> sq = lambda x:x**2
>>> l = map(sq,[-1,0,1,2,-3])
>>> list(l)
[1, 0, 1, 4, 9]

 

当然也可以传入两个参数的:

>>> add = lambda x, y: x + y
>>> l = map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])
>>> list(l)
[3, 7, 11, 15, 19]

 

 

 

reduce(f(x), Itera)   # 对前一个x1把结果f(x1)继续和序列的下一个元素x2做累积计算

函数f必须有两个参数x,y

 

>>> from functools import reduce
>>> def add(x,y): #定义一个相加函数
        return x+y

>>> reduce(add,[1,2,3,4,6])
16

 

add(x,y)是我们定义的一个函数,将add函数和[1,2,3,4,6]列表传入reduce函数,就相当于1+2+3+4+6 =16。即把结果继续和序列的下一个元素做累加。

 

python的map与reduce

标签:list   定义   bsp   pos   必须   font   map   blog   post   

原文地址:https://www.cnblogs.com/cymwill/p/8366340.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!