python: reduce函数

API

reduce(function, sequence, starting_value)

顺序迭代。

可设置初始值。

python2 与 python3 中 reduce 的不同

python3 中,reduce()函数已经被从 全局名字空间 里移除了。 转而被放置到了 fucntools模块里

from functools import reduce
xs = reduce(lambda x, y : x + y, range(1, 5))
print(xs)    # 10

Test (基于python2)

未设置 初始值

默认sequence[0] 作为 初始值

list = [2, 3, 4]
f = lambda x, y : x * y
assert reduce(f, list) == 2*3*4

设置了 初始值

list = [2, 3, 4]
f = lambda x, y : x * y
assert reduce(f, list, 10) == 10*2*3*4

寻找最大值

list = [10, 100, 70, 20]
assert reduce(lambda a,b : a if a>b else b, list) == 100

也可以用python 自带的 max函数

list = [10, 100, 70, 20]
assert reduce(max, list) == 100

等同于:

list = [10, 100, 70, 20]
assert max(list) == 100

求平方和

list = [2, 3, 4]
assert reduce(lambda x,y : x+y**2, list, 0) == 2**2 + 3**2 + 4**2


本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏王磊的博客

web.config中配置字符串中特殊字符的处理

配置文件中往往要用到一些特殊的字符,                Web.Config默认编码格式为UTF-8,对于XML文件,要用到实体转义码来替换。对应...

44240
来自专栏Golang语言社区

golang的内存模型与new()与make()

要彻底理解new()与make()的区别, 最好从内存模型入手. golang属于c family, 而c程序在unix的内在模型: |低地址|text|dat...

36350
来自专栏用户2442861的专栏

c++ set unordered_set区别

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/d...

1.4K30
来自专栏开源优测

JMeter函数和变量11

前言 在jmeter中提供了功能强大的内置函数来帮助我们处理字符串、文件读写、计算、运行外部脚本等等能力。 要想在项目中切实运用来jmeter完成复杂的压测场景...

46860
来自专栏Golang语言社区

golang的内存模型与new()与make()

要彻底理解new()与make()的区别, 最好从内存模型入手. golang属于c family, 而c程序在unix的内在模型: |低地址|text|dat...

30860
来自专栏企鹅号快讯

Go 系列教程——8.if-else 语句

这是我们 Golang 系列教程的第 8 篇。 if 是条件语句。if 语句的语法是 如果 为真,则执行 和 之间的代码。 不同于其他语言,例如 C 语言...

216100
来自专栏用户2442861的专栏

STL源码剖析-map/multimap容器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/d...

24520
来自专栏C/C++基础

Linux命令(2)——od命令

od命令用于将指定文件内容以八进制、十进制、十六进制、浮点格式或ASCII编码字符方式显示,通常用于显示或查看文件中不能直接显示在终端的字符。od命令系统默认的...

12530
来自专栏北京马哥教育

只需9个步骤,完美实现自动化运维异常处理!

1异常 异常就是非正常状态,在Python中使用异常对象来表示异常。若程序在编译或运行过程中发生错误,程序的执行过程就会发生改变,抛出异常对象,程序流进入异常处...

32250
来自专栏互联网研发闲思录

C++ study

3、数组析构方式为delete []arr;其中arr要指向初始地址,如中间有移动需析构前移动到出始地址。

9700

扫码关注云+社区

领取腾讯云代金券