Python学习——reduce()函数的用法

来源:互联网 发布:软件企业 编辑:程序博客网 时间:2024/06/06 04:21

reduce()函数在Python3.0中已经不是BIF函数了,使用前需要通过导入:

from functools import reduce

reduce(func,seq)函数是一种自动迭代吧,把序列中的前两个元素导入到函数中,得到一个新的参数,并同序列中的下一个元素一起作为函数的新的两个参数,依次进行,最后返回一个函数值。

以最简单的数组元素想加为例。

使用循环语句,(C语言的风格吧):

sumNum = 0for i in range(5):    sumNum += iprint(sunNum)

得到结果:

10

采用reduce()函数的方法,如下:

from functools import reducesumNum = redece(lambda x,y:x+y,range(5))print(sumNum)

得到:

10

TIPS:这里使用了lambda()函数,显得很pythonic……

——————————————————————————————
11/26 补充:

这里写图片描述

reduce(lambda a, b : a & b, list(map(dict.keys, [dict1, dict2, dict3])))

一行代码搞定,同时运用了reduce, lambda, map函数,更加pythonic了…

原创粉丝点击