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
标签:map,函数,sum,list,print,lambda From: https://www.cnblogs.com/365djl/p/16728850.html