编程语言
首页 > 编程语言> > Python reduce() function

Python reduce() function

作者:互联网

reduce() in Python

Example 1: 求list元素的和

import functools
lis = [1, 3, 5, 6, 2,]
print(functools.reduce(lambda a, b: a+b, lis))
print(functools.reduce(lambda a, b: a if a > b else b, lis))

Example 2: 求list中最大值

import functools
lis = [1, 3, 5, 6, 2,]
print(functools.reduce(lambda a, b: a if a > b else b, lis))

Example 3: 结合operator函数

import functools
import operator

lis = [1, 3, 5, 6, 2, ]

# 求 list 和
print(functools.reduce(operator.add, lis))
 
# 求 list 乘
print(functools.reduce(operator.mul, lis))
 
# 字符串拼接
print(functools.reduce(operator.add, ["geeks", "for", "geeks"]))

reduce()和 accumulate 的区别

reduce()存储中间结果,只返回最终的求和值。然而,accumulate()返回一个包含中间结果的迭代器。迭代器返回的最后一个数字是列表的总和。

import itertools
print(list(itertools.accumulate(lis, lambda x, y: x+y)))
# 输出结果
[1, 4, 9, 15, 17] 

参考:

https://www.geeksforgeeks.org/reduce-in-python/

标签:function,Python,functools,reduce,operator,lis,print,import
来源: https://www.cnblogs.com/shix0909/p/15037489.html