lambda函数和map函数的理解和使用

lambda函数

在说lambda函数前,先来想一下平时的在Python中怎么定义和使用函数的,简单的如下:

def sum(x):
    x=x+5
    return x
    
print(sum(8))

输出结果都晓得:13
上面的代码中,

def定义一个函数
sum是函数名,
x是参数,
x=x+5是执行语句

这些使用lambda函数来表达就是:

sum=lambda x : x+5

print(sum(8))

输入结果也是13
在lambda表达式中,

sum是函数名,
x是参数,
x+5是执行语句,
而lambda就相当于上一个代码中的def

这样相对比之下,lambda格式就清晰多了,也更容易理解。

lambda其实是一个匿名函数,它的格式:

函数名 = lambda 参数列表 : 执行语句

lambda也是一个函数定义的过程,但它无法完成循环递归,不可进行迭代。当有迭代需要时,可以结合map函数来使用。

map函数

map()函数是Python的一个内置函数,它会根据提供的函数对指定序列做映射。map函数格式如下:

map(函数,序列参数)

map根据给定的函数对序列参数做处理。

比如现在有一个列表是97-100,定义一个函数使每个数字都进行+1处理,这时先定义一个lambda函数,然后使用map迭代给列表中每个元素都+1,最后list输出结果:

a=[97,98,99,100]
b_sum=lambda x:x+1
c=list(map(b_sum,a))
print(c)

输出如下:

[98, 99, 100, 101]

在这里,map就是对a列表中的元素执行b_sum函数中的执行语句。

至于为什么不直接print(map(b_sum,a))而是要再使用一个list,是因为map并不是直接输出结果,它将结果封装了,使用list把列表化来看结果。大家可以自己print一下map看看结果。

若有错误敬请指正。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值