python-lambda、filter、reduce、map
python-lambda、map、filter、reduce
lamdba
python关键字,用于在表达式中创建匿名函数。
注意:lambda函数的定义体只能用纯表达式,不能赋值,不能使用while和try等语句。
lamdba的语法
lambda [arg1 [, arg2,......argn]]:expression
lambda 参数列表:return expression
lambda返回一个函数对象
栗子1
将lambda创建的匿名函数赋值给一个变量
squares = lambda x: x**2 squares(3) #9
栗子2
将lambda创建的匿名参数作为函数参数
应用场景:
在参数列表中使用lambda创建匿名函数,
作为参数传递给高阶函数外,python很少使用匿名函数。
map()
map函数接收两个参数
第一个参数为函数
第二个参数为一个可迭代的对象
map函数返回一个可迭代的map对象,对象中的每一个元素是第一个参数(函数)fn作用到第二个参数(一个可迭代对象)中各个元素得到的结果
filter()
第一个参数为函数或None
第二个参数为一个可迭代的对象
filter函数返回一个可迭代的filter对象
filter函数用于过滤迭代对象中不符合条件的元素
可迭代对象(第二个参数)中的每个元素都传递给函数(第一个函数),返回为True的元素将作为新的元素放到filter函数的返回对象中
reduce()