python reduce使用

本文详细介绍了Python中reduce函数的应用及lambda表达式的使用技巧。通过具体的代码示例,展示了如何利用reduce函数对列表进行累加计算,并解释了lambda匿名函数的限制及reduce函数的工作原理。
1 from functools import reduce
2 
3 filtered = [('A', ('A', 3)), ('D', ('D', 1))]
4 
5 reduced = reduce(lambda x, y : x + y[1][1], filtered, 0)
6 print reduced
7 print reduce(lambda x, y : x + y, [1, 2, 3, 4, 5])
8 print reduce(lambda x, y : x[1][1] + y[1][1], filtered) #只适用于list中只用两个元素的情况

注意

1、lambda 匿名函数 至允许两个参数

2、reduce 计算时 list中前两个元素进行计算, 将结果当做下一次计算的x的值再次传入 

   所以, 当filtered = [('A', ('A', 3)), ('D', ('D', 1)),('D', ('D', 2))] 时, 只能使用

   reduce(lambda x, y : x + y[1][1], filtered, 0) 这种方法计算, 0 为 x 的初始值

计算方法

reduce(lambda x, y : x + y, [1, 2, 3, 4, 5])
先取出 1, 2 计算 1 + 2 = 3
将 3 作为 x 的值 进行传参 计算 3 + 3 = 6
将 6 作为 x 的值 进行传参 计算 6 + 4 = 10
将 10 作为 x 的值 进行传参 计算 10 + 5 = 15

转载于:https://www.cnblogs.com/kouruyi/p/8341825.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值