11月06日(第6天)

来源:互联网 发布:风云防火墙 网络规则 编辑:程序博客网 时间:2024/06/01 12:08

Morning

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


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

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

运行结果:

14700

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

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

运行结果:

58

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

L2 = [34,58,17,10,21]from functools import reducedef 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 == 1L3i=list(filter(is_odd,L3))print(L3i)#Step2:算出每个奇数的平方L3ii = list(map(lambda x:x**2, L3i))print(L3ii)#Step3:把所有的平方求和from functools import reducereduce(lambda x,y:x+y,L3ii)

运行结果:

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

原创粉丝点击