全国咨询/投诉热线:400-618-4000

python的reduce函数用法介绍[python培训]

更新时间:2019年10月31日16时02分 来源:传智播客 浏览次数:

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

如果在调用reduce函数时传入了initializer参数,那么function函数会以迭代器中的第一个元素与initializer的和作为参数进行调用。示例代码如下:【插播福利:2019传智播客python视频教程全集下载
 


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)
# 结果为
'aabbccdd'


本文来自:传智播客 python+人工智能学院  python.itcast.cn


猜你喜欢:python filter函数用法

javaee

python

web

ui

cloud

test

c

netmarket

pm

Linux

movies

robot

uids

北京校区

    14天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    20天免费试学

    基础班入门课程限时免费

    申请试学名额

    8天免费试学

    基础班入门课程限时免费

    申请试学名额

    20天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    0天免费试学

    基础班入门课程限时免费

    申请试学名额

    12天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    10天免费试学

    基础班入门课程限时免费

    申请试学名额