Python reduce()


1. 描述

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

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


Python3 reduce()被移到 functools 模块。

from functools import reduce

2. 语法

reduce(function, iterable[, initializer])

参数

  • function:函数(两个参数)
  • iterable:可迭代对象
  • initializer:可选,初始参数

返回值

函数计算结果。


3. 实例

① 元组、列表里的数累加。

from functools import reduce

def add(x, y):
    return x+y
sum1 = reduce(add, (1, 2 ,3 ,4 ,5))
sum2 = reduce(lambda x, y: x+y, [1, 2, 3 ,4 ,5])
print(sum1)
print(sum2)
15
15

② 列表拼成整数。

from functools import reduce

a = reduce(lambda x, y: x*10 + y, [1, 2, 3, 4, 5])      # 10+2=12 12*10+3=123 123*10+4=1234 1234*10+5=12345
b = reduce(lambda x, y: x + y*10, [1, 2, 3, 4, 5])      # 1+2*10=21 21+3*10=51 51+4*10=91 91+5*10=141
print(a)
print(b)
12345
141


posted @ 2021-11-24 09:39  做梦当财神  阅读(71)  评论(0编辑  收藏  举报