|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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]
复制代码
|
评分
-
查看全部评分
|