Lambda函数

语法

lambda 参数 :表达式
  • 参数:类似与function()小括号中的参数,常见形式如下
    • a,b
    • a=1,b=2
    • *args
    • **kwargs
  • 表达式:表达式中出现的参数需要在argument_list中有定义,并且表达式只能是单行的

特性

  • lambda函数是匿名的,函数没有名字
  • lambda具有输入输出,参数就是其输入,供表达式使用,表达式结果为函数的返回结果,即输出。所以使用lambda不需要在表达式中进行返回操作,函数自动将表达式结果返回

应用

  • 简单例子
add = lambda x,y:x+y
sum=add(x,y)
print(sum)
  • 将lambda函数赋值给其他函数,这样之前函数就被lambda函数替换
import time
time.sleep = lambda x:None
  • lambda作为参数传递给其他函数(应用广泛)
# filter函数
# 此时lambda函数用于指定过滤列表元素的条件
# 指定将列表[1,2,3]中能够被3整除的元素过滤出来,其结果是[3]
filter(lambda x: x % 3 == 0, [1, 2, 3])

# sorted函数
# 此时lambda函数用于返回字典中的值
# sorted第一个参数为可迭代对象,第二个参数为排序的依据,这里会将每次遍历出的数据传递给x,第三个参数为倒序或者顺序
d = {'a':1,'b':4,'c':2}
sorted(d.items(),key = lambda x:x[1],reverse = True)

# map函数
# 此时lambda函数用于指定对列表中每一个元素的共同操作
# 将列表[1, 2, 3]中的元素分别加1,其结果[2, 3, 4]
map(lambda x: x+1, [1, 2,3])

# reduce函数
# 此时lambda函数用于指定列表中两两相邻元素的结合条件
# 将列表 [1, 2, 3, 4, 5, 6, 7, 8, 9]中的元素从左往右两两以逗号分隔的字符的形式依次结合起来,其结果是'1, 2, 3, 4, 5, 6, 7, 8, 9'
reduce(lambda a, b: '{}, {}'.format(a, b), [1, 2, 3, 4, 5, 6, 7, 8, 9])
  • 7
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值