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看看结果。

若有错误敬请指正。

原文链接:https://blog.csdn.net/qq_45997545/article/details/115742358

posted on   健力宝1995  阅读(355)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示