Python3——数组中的高阶方法——reduce

reduce,有减少,降低,归纳的意思。

reduce() 函数会对参数序列中元素进行“累积”。

函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。

reduce语法:

reduce(function, iterable[, initializer])

参数:

  • function – 函数,有两个参数
  • iterable – 可迭代对象
  • initializer – 可选,初始参数

返回值:
返回函数计算结果。

注意,和map、filter函数不同点:

  • map和filter不用导入包,reduce需要导入包;
  • map和filter是分别对每个传入的参数做操作,而reduce是对两个,两个的做处理;

好,来看几个示例:

1、示例一:求列表数据的和

from functools import reduce

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

运行结果:

15

2、示例二:拼字符串

from functools import reduce
lst5 = ['a','Ab','ABC','abcd','Abcde','cc']
print(reduce(lambda x,y:x+y, lst5))

运行结果:

aAbABCabcdAbcdecc

3、示例三:找出列表中的最大值

from functools import reduce

def abc(x,y):
    if x>y:
        return x
    else:
        return y

lst4 = [5,2,7,2,1]
print(reduce(abc, lst4))

运行结果:

7
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页