lambda:匿名函数,让函数更简洁,有时候妙用无穷;
使用方法:lambda 后面直接跟变量,变脸后面是冒号,冒号后面是表达式,表达式的计算结果就是本函数的返回值
注意:虽然 lambda 函数可以接收任意多的参数并且返回单个表达式的值,但是 lambda 函数不能包含命令且包含的表达式不能超过一个。如果你需要更多复杂的东西,你应该去定义一个函数。
eg:
** filter:过滤器**
eg:
numbers =range(-5,5)
print(list(filter(lambda x:x>0,numbers)))
输出结果:【1,2,3,4】
和以下代码等价
[x for x in numbers if x > 0]
** map:映射,**map 是 Python 的一个内置函数,它的基本格式是:map(func, seq)
对于 map 要主要理解以下几个点就好了:
1.对可迭代的对象中的每一个元素,依次使用 fun 的方法(其实本质上就是一个 for 循环)。
2.将所有的结果返回一个 map 对象,这个对象是个迭代器。
eg:
list1 = [1,2,3,4]
list2 = [5,6,7,8]
list3=list(map(lambda x,y: x + y,list1,list2))
print(list3)
输出结果:[6, 8, 10, 12]
reduce:函数作用于序列,reduce 函数的第一个参数是一个函数,第二个参数是序列类型的对象,将函数按照从左到右的顺序作用在序列上。
eg:
from functools import reduce
a=reduce(lambda x,y:x+y,[1,2,3,4,5])
print(a)
输出结果:15
版权归原作者 Darin2017 所有, 如有侵权,请联系我们删除。