首页技术文章正文

python reduce函数怎么用?[python培训]

更新时间:2019-10-31 来源:黑马程序员 浏览量:

reduce函数会对参数迭代器中的元素进行累积。

reduce函数的定义如下:

functools.reduce(function, iterable[, initializer])


在上述定义中,function是一个带有两个参数的函数;第2个参数iterable是一个迭代器对象;initializer表示固定的初始值。reduce函数会依次从迭代器对象中取出每个元素,和上一次调用function的结果做为参数再次调用function函数。在Python3中,reduce函数被放置在functors模块中,使用时需要先引入,示例代码如下:


from functools import reduce

func = lambda x, y: x +y

result = reduce(func, [1, 2, 3, 4, 5])

print (result)

 

在上述示例中,首先引入了fucntools模块,然后定义了一个计算两个数的和的匿名函数。

由于在调用 reduce函数时传入了func和序列,所以程序会把序列的每个元素取出来,和上次调用后的结果作为参数再次调用func函数,最后将结果返回给 result。【推荐了解:黑马程序员python培训课程

程序的运行结果如下所示:

15

 

1572580061404_Java无锁并发.jpg


如果在调用reduce函数时传入了initializer参数,那么function函数会以迭代器中的第一个元素与initializer的和作为参数进行调用。示例代码如下:

from functools import reduce

result = reduce (lambda x, y: x + y, [1, 2, 3, 4], 5)

print(result)

# 结果为

15


此外,iterable参数还可以传入字符串类型,示例代码如下:

from functools import reduce

result = reduce(lambda x, y: x + y, ['aa', 'bb', 'cc'], 'dd')

print(result)

# 结果为

'ddaabbcc'


猜你喜欢:

map函数的用法

Python filter函数命令用法


分享到:
在线咨询 我要报名
和我们在线交谈!