11月06日(第6天)

Morning

主要介绍了lambda函数、map函数、reduce函数和filter函数


1. 用reduce函数求一个列表的乘积。

L2 = [2,5,7,10,21]
from functools import reduce
reduce(lambda x,y:x*y, L2)

运行结果:

14700

2. 用ruduce思想找一个列表中的最大值。

L2 = [34,58,17,10,21]
from functools import reduce
def mymax(x,y):
    if x>=y: a = x  
    else: a = y 
    return a
reduce(mymax, L2)

运行结果:

58

代码参考悦小妹的代码进行简化:

L2 = [34,58,17,10,21]
from functools import reduce
def mymax(x,y):
    if x>=y: return x  
    else: return y 
reduce(mymax, L2)

3. 给出一个列表,只想对其中的奇数运算,之后算出每个奇数的平方,再把所有的平方求和(要求用到map、reduce、filter函数)。

#Step1:筛选出奇数
L3 = [1,2,4,5,8,12,19,27]
def is_odd(n):
    return n % 2 == 1
L3i=list(filter(is_odd,L3))
print(L3i)

#Step2:算出每个奇数的平方
L3ii = list(map(lambda x:x**2, L3i))
print(L3ii)

#Step3:把所有的平方求和
from functools import reduce
reduce(lambda x,y:x+y,L3ii)

运行结果:

[1, 5, 19, 27]
[1, 25, 361, 729]
Out[30]: 1116

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值