|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
python允许使用lamdda表达式创建匿名函数
1、什么是匿名函数:
2、匿名函数和普通函数在使用上面又有什么不同呢?
3、使用匿名函数的优势
python 写一些执行代码时,使用lambda就可以省下定义函数过程,比如我们只是要写个简单的代码来管理服务器时间,我们就不需要专门定义一个函数然后再写调用,使用lambda就可以使代码更加精简
对于一些比较抽象并且整个程序执行下来只需要调用一两次的函数,有时候给函数起名字也是比较头疼的问题,使用lambda就不需要考虑命名的问题了
简化代码的可读性,由于普通函数阅读时经常要跳到开发def定义部分,使用lambda函数可以省去这样的步骤
def ds(x):
return 2*x+1
print(ds(5))
print(lambda x :2*x+1)
#在冒号的前面是传入的参数,在冒号的后边是返回值
g = lambda x :2*x+1
print(g(5))
def add(x,y):
return x+y
f = lambda x,y:x+y
print(f(3,4))
两个比较厉害的BIF:
filter()过滤器:通过他可以保留关注的信息,不关注的信息则不用处理
两种用法:
filter(None,[1,0,False,True])
第一种:function is None
print(list(filter(None,[1,0,False,True])))
[1, True]
第二种:function is not None
def odd(x):
return x%2
temp = range(10)
print(list(filter(odd,temp)))
[1, 3, 5, 7, 9]
使用lambda:
print(list(filter(lambda x:x%2,range(10))))
[1, 3, 5, 7, 9]
map()映射:两个参数一个函数和一个可迭代的序列
将序列的每一个元素作为函数的参数进行运算加工,直到函数的参数迭代序列的每个元素都迭代完毕,返回所有加工后的元素构成新序列
print(list(map(lambda x:x*2,range(10))))
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
|
|