- A+
所属分类:Python学习
lambda表达式
lambda作为一个表达式,定义了一个匿名函数,上例的代码x为入口参数,x*x为函数体
- def df(x):
- return x*x
- print(df(100)) #10000
- g = lambda x:x*x+
- print(g(100)) #10000
lambda支持多个参数
- def dy(x,y,z):
- return x+y+z
- dy(7,8,9) # 24
- f = lambda x,y,z:x+y+z
- f(7,8,9) #24
lambda作用
1、Python写执行脚本时,使用lambda可以省下定义函数过程。
2、对于抽象以及少用的函数,减少函数命名的问题。
3、简化代码的可读性
filter() 过滤器
filter有两个参数,第一个可以是函数或空值,第二个可迭代序列
当第一个参数为None时,返回非False的结果
- a=filter(None,[0,1,2,3,False,'False'])
- print(list(a)) #[1, 2, 3, 'False']
当第一个参数为函数时,返回函数筛选后的值
- def df(x):
- return x %2
- b = range(10)
- z = filter(df,b)
- print(list(z)) #[1, 3, 5, 7, 9]
使用lambda表达式来写
- e = filter(lambda x:x%2,range(10))
- print(list(e))
map()阴射
在使用这个代码之前,一直在试验fifter,使用+-*/,后面一下子明白了,这玩意是产生条件才返回结果,而不是去运算。
map()有两个参数,第一个是函数,第二个可迭代序列
- def df(x):
- return x *2
- b =range(10)
- z = map(df,b)
- print(list(z)) #[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
- z =print(list(map(lambda x:x*2,range(10)))) #[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
单词扩展:
- filter : 渗入、过滤
- map:映射,通常我们都理解为地图了
扩展阅读:
版权注释:
Python课程来源于鱼C论坛:http://bbs.fishc.com/forum-243-1.html 版块,课程内容为免费内容,如果你喜欢该课程,建议购买VIP账号支持小甲鱼,官方网店:https://fishc.taobao.com/)。
本内容为在李金龙在学习课程中做的日记记录,方便自己以后查找相关信息,另一方面也希望自己写下的东西可以帮助到别人。
课程内容:http://blog.fishc.com/3118.html
2017年5月11日 下午5:59 沙发
print(list(map(lambda x :x**2 + x*2 + 1,[x for x in range(100)])))
支持李总!