12-python基础—python3中的reduce()

Posted summer1019

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了12-python基础—python3中的reduce()相关的知识,希望对你有一定的参考价值。

在 Python3 中,reduce() 函数已经被从全局名字空间里移除了,它现在被放置在 functools 模块里,需要通过引入 functools 模块来调用 reduce() 函数:

from functools import reduce
  • reduce函数会对参数序列中元素进行累积;
  • reduce()传入的函数 f 接收两个参数;
  • reduce函数的定义:
reduce(function, sequence [, initial] ) -> value

# function参数接收两个参数,reduce依次从sequence中取一个元素,和上一次调用function的结果做参数再次调用function。

# 第一次调用function时,如果提供initial参数,会以sequence中的第一个元素和initial作为参数调用function,否则会以序列sequence中的前两个元素做参数调用function。

 

1.无initial参数:求1-100的和

from functools import reduce

values = reduce(lambda x,y:x+y, range(1,101))
print(values)

# 5050

 

2.有initial参数:求1-100的和,设置initial为100。注意:不书写initial

1 from functools import reduce
2 
3 values = reduce(lambda x,y:x+y, range(1,101), 100)
4 print(values)
5 
6 # 5150

 

以上是关于12-python基础—python3中的reduce()的主要内容,如果未能解决你的问题,请参考以下文章

零基础学PythonDay12 Python循环语句

零基础学PythonDay12 Python循环语句

零基础学PythonDay12 Python循环语句

编程基础之Python12Python中的语句

Python3 错误和异常

Python3基础 set 删除list中的重复项