Lambda Expressions & Anonymous Functions

使用方式

没有参数

a=lambda:"waht is my purpose?"
b=a
print(id(a))
print(id(b)) # 通过打印ID可知,a和b是指向同一个lambda表达式的(也说明lambda表达式也是临时变量在内存中保存的)。
b()
140291082896656
140291082896656
'waht is my purpose?'

有一个或者多个参数

c=lambda x:3*x+1
c(2)
7
d=lambda x,y:(x*y)**0.5
d(2,3)
2.449489742783178

实例

排序实例

  • L.sort函数排序是对原始数据的直接排序
  • key = 后面的函数是对需要排队的某一个对象做处理,不是对整个列表处理
scif_auth=["isaa asimov","ray bradbury","c clarke","frank herbert","orson scott card","douglas adams"]
scif_auth.sort(key=lambda name:name.split(" ")[-1].lower()) #
print(scif_auth)
['douglas adams', 'isaa asimov', 'ray bradbury', 'orson scott card', 'c clarke', 'frank herbert']

Quadratic functions case

  • 函数调用有两种方式。第一种是将lambda表达式赋值给一个变量名,然后通过该变量名传入参数调用。
  • 第二种是直接调用不需要赋值给一个变量名
def build_quadratic_fun(a,b,c):
    return lambda x:a*x**2+b*x+c
f=build_quadratic_fun(2,3,-5) 
f(2)
9
build_quadratic_fun(2,3,-5)(2)
9

总结

  • lambda function 在你需要零时用一下,用完即丢弃,且函数比较简单的情况下非常有用。

引用

主要参考下列视频内容,翻译并亲测代码后形成此文,感谢视频作者的无私奉献!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值