马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 向西而笑 于 2017-7-22 17:19 编辑
Lambda表达式
Lambda表达式是Python中一类特殊的定义函数的形式,使用它可以定义一个匿名函数。如:
例1:>>> def ds (x):
return 2*x +1
>>> ds(5)
11
>>> y = lambda x:2*x + 1
>>> y(5)
11
例2:>>> def ds(x,y):
return x + y
>>> ds(1,2)
3
>>> z = lambda x,y :x+y
>>> z(1,2)
3
Lambda表达式的作用
1、 Python写一些执行代码时,使用lambda表达式就可以省下定义函数过程,比如说我们只是要写个简单的代码来管理服务器时间,我们就不需要专门定义一个函数然后写调用,使用lambda使得代码更加精简
2、 对于一些比较抽象只调用一两次的函数,省去取名字的麻烦
3、 简化代码的可读性,阅读普通函数要去看def开头,使用lambda可以省去这样的步骤。
filter()函数:
这个函数起到一个过滤器的作用,用于过滤序列,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。
例子:#在10以内筛选出奇数
def odd(x):
return x%2
>>> list(filter(odd,range(11))) #range生成0-10的数字,不包含11
[1, 3, 5, 7, 9]
学了lambda可以写成这样:>>>list(filter(lambda x: x%2,range(11)))
[1, 3, 5, 7, 9]
map()函数:
映射功能,map(func, *iterables) ,传入一个函数和可迭代对象(可多个),将这个函数作用在可迭代对象中的每个元素上返回一个list(不改变原序列)list(map(lambda x : x *2,range(10)))
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
|